1.for循环可以通过return或break跳出循环,forEach无法跳出循环
可以跳出循环
for (let i = 0; i < 10; i++) {
if (i == 2) {
break
}
console.log(i);
}
2.forEach若想跳出循环请用Array.some(return true)或Array.every(return false)代替
仅仅把当次循环阻断,并没有跳出循环,而是继续执行
let arr = [1, 2, 3, 5, 9]
arr.forEach(function(item,index){
if(item==2){
return false
}
console.log(item);
});
使用Array.some代替,成功跳出循环
let arr = [1, 2, 3, 5, 9]
arr.some(function(item,index){
if(item==2){
return true; //这里必须为true
}
console.log(item);
});
使用Array.every代替,也能成功跳出循环
let arr = [1, 2, 3, 5, 9]
arr.every(function(item,index){
if(item==2){
return false; //这里必须为false
}
console.log(item);
});