js

js如何终止forEach

2021-12-20  本文已影响0人  变量只提升声明不提升赋值

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
上一篇下一篇

猜你喜欢

热点阅读