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
*/
发表回复