评论

数组循环中,解读Array.find 和 for循环break

es6中的循环遍历

在数组循环中,查到指定项后停止循环,业务中常使用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

最后一次编辑于  2019-04-13  
点赞 0
收藏
评论
登录 后发表内容