js forEach()和map() 跳出本地循环 终止循环

文章发布于 2023-06-25

forEach()map() 是Array 数组对象提供的循环数组的方法。不能像js循环表达式那样使用break 、'continue' 等结束循环语句。

那么在forEach()map()方法中如何终止循环和跳出本次循环呢?

跳出本地循环

在foreach和map函数里使用的 return 来实现跳出本次循环。以foreach 循环为例:

    var arr = [1,2,3];
    var newArr = []
    arr.forEach((item,index) =>{
        //下标小于2时,直接return之后,不执行后面的push。
           if(index<2) {
            return item
        }
        newArr.push(item)
    })
    console.log(newArr)  // [3] //结果只有3

终止循环

在foreach和map函数里使用的 throw 抛出异常来实现跳出本次循环。以foreach 循环为例:

var arr = [1,2,3]
var newArr = []
arr.forEach((item,index)=>{
    try{
        if(index > 1) {
            throw new Error('文本小于2')
        }
        newArr.push(item)
    }catch (e){
        // throw e
    }
})
console.log(newArr) [1,2]