forEach 方法用于循环一个数组并对数组进行一些操作时很方便
var arr=[{val:1},{val:2}]
arr.forEach((item,i)=>{
item.a=i+99
console.log(item)
})
//{val: 1, a: 99}
//{val: 2, a: 100}
要跳出当前循环,继续进行下一轮循环时--在里面添加 retuan false或return
var arr=[{val:1},{val:2}]
arr.forEach((item,i)=>{
item.a=i+99 //这一行执行了
return
console.log(item)//这一行不会执行
})
//arr =>[{val: 1, a: 99},{val: 2, a: 100}]
那如何跳出整个循环呢?--抛异常 throw new Error
var arr=[{name:1},{name:2}]
arr.forEach((item,i)=>{
console.log(item)
throw new Error('异常')
})
//{name:1} //只会打印{name:1}
//程序还会报错 导致后续程序不执行
程序报错导致后续程序不运行
所以得用try catch 捕获异常保证程序运行
var arr=[{name:1},{name:2}]
try {
arr.forEach((item,i)=>{
console.log(item)
throw new Error('异常')
})
} catch (error) {
}
//{name:1}
console.log(1)//后续程序正常执行
个人看法:如果你需要用到跳出整个循环(终止循环)的的话说明你用错方法了,用forEach 再加个try catch 有点怪。换成for 或者 for of 循环
var arr=[{name:1},{name:2}]
for(item of arr){
console.log(item)
break //终止整个循环
}
//{name: 1}

本文暂时没有评论,来添加一个吧(●'◡'●)