JS的forEach结束循环问题

50 阅读1分钟

结束本次

可以使用return语句跳出本次循环,执行下次循环(continue和break不行)


var arr = [1,2,3,4,5,6]
arr.forEach((item) => { 
    if (item === 3) { return }
    console.log(item) 
})

// 将输出 1 2 4 5 6,3不会输出

终止循环

forEach无法通过正常流程(如break)终止循环,但可通过抛出异常的方式实现终止循环

var arr = [1,2,3,4,5,6]
try{
  arr.forEach((item) => {
      if (item === 3) {
              throw new Error('End Loop')
      }
      console.log(item)
  })
} catch (e) {
    if(e.message === 'End Loop') throw e
}
// 输出 1 2