forEach跳出循环
foreach不能使用return或者break跳出循环,因为foreach的参数为回调函数,会遍历执行多个回调函数,return会直接跳出执行的当前的回调函数,其他的回调函数会继续执行,而用break会直接报错,最好的办法是抛出异常,捕获到异常终止遍历
1.return
var arr = [1, 2, 3, 4, 5];
arr.forEach((item) => {
if (item === 2) {
return;
}
console.log(item);
});

跳出了值为2的回调,其他回调依然执行
2.break
var arr = [1, 2, 3, 4, 5];
arr.forEach((item) => {
if (item === 2) {
break;
}
console.log(item);
});

3.抛出异常
try {
var arr = [1, 2, 3, 4, 5];
arr.forEach((item) => {
if (item === 2) {
throw Error("终止");
}
console.log(item);
});
} catch (e) {
console.log(e);
}


这篇博客探讨了在JavaScript的forEach循环中如何优雅地中断执行。由于forEach不支持return或break直接跳出循环,作者建议在遇到特定条件时抛出异常并捕获来终止遍历。示例代码展示了当item等于2时抛出异常并捕获以中断循环的过程。这种方法避免了其他回调函数的继续执行。
1990

被折叠的 条评论
为什么被折叠?



