优秀的编程知识分享平台

网站首页 > 技术文章 正文

js forEach跳出循环(js跳出当前for循环)

nanyue 2024-09-10 16:19:27 技术文章 5 ℃

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}
最近发表
标签列表