let arr = ['1','2','3','4'];
arr.forEach((item) => {
console.log("foreach",item);
if (item === '2') {
return ;
}
});
预期只打印1,2 但是1,2,3,4都打印出来了 并没有达到预期效果。
for (let i = 0; i < 4; i++) {
console.log("arr",arr[i]);
if (arr[i] === '2') {
return ;
}
}
/
for循环则只打印了1,2达到了预期
发现foreach无法中断,其实,在foreach里面return(不管true false)相当于continue
解决方式:
1.使用 some 或者 every 代替 forEach
let flag = arr.some((item) => {
console.log("arr",item);
if (item === '2') {
return true;
}
});
console.log(flag);
/*
*arr 1
*arr 2
*true
*/
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。