forEach本质上是不可终止的,如果非要终止的话建议使用其他循环方法。不要强行使用forEach,避免出现不必要的bug。但如果一定要终止forEach可以参考以下方法
1.使用try catch 抛出错误达到终止循环的效果
try{
[1,2,3,4,5].forEach(d=>{
if(d==3){
throw new Error(d)
}
console.log(d)
})
}catch (e){
console.log('e:'+e)
console.log('e.message:'+e.message)
}
image.png
2.因为forEach有遇到空数组不会执行回调函数的特性,所以还可以在循环途中将数组置空达到终止循环的目的
let a = [1,2,3,4]
a.forEach(d=>{
if(d==3){
a.length=0
}
console.log(d)
})
image.png
网友评论