在数组循环中,查到指定项后停止循环,业务中常使用for循环,for in 循环,Array.forEach循环,Array.find循环,Array.map循环。
在该业务需求中,我常选用Array.find方案,该方法跟for循环break的作用是一样的,只要找到指定项,便停止循环,但是Array.find写法更加简便。如果选用Array.forEach循环,那么指定项使用 return true 他还是会继续往下循环遍历的,相当于for循环中的continue
// 用break语句可以使流程跳出switch语句体,也可以用break语句在循环结构终止本层循环体,从而提前结束本层循环。
find()
方法返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined
var arr = [1,2,3]; arr.find((it,idx)=>{ if (idx == 1){ return true ; } console.log(it); }); for ( var i =0;i<arr.length;i++){ if (i == 1){ break ; } console.log(arr[i]); } |
// continue 计算机术语,表示结束本次循环,而不终止整个循环的执行。而是结束本次循环,进行下一次循环。
forEach()
方法对数组的每个元素执行一次提供的函数。
arr.forEach((it,idx)=>{ if (idx == 1){ return true ; } console.log(it); }) for ( var i =0;i<arr.length;i++){ if (i == 1){ continue ; } console.log(arr[i]); } |
参考文献
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/find
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach