- 正常终止for循环,我们可以使用break关键字来实现;
- forEach循环,不能使用break和continue这两个关键字;
- 因为这两个关键字要在循环中使用,而forEach中所执行的是callback,callback是个函数所以不能使用;
- 使用 return 的话,只能跳出本次循环执行下一次循环,并不会终止forEach循环;
// 可以使用 抛出错误 的方式来真正的终止forEach循环:
let arr = [1, 2, 3]
try {
arr.forEach(item => {
if (item == 2) {
throw Error()
}
})
} catch(err) {
if (err.message === 'End Loop') throw err // 抛出真正的错误
}