forEach跳出循环体

浅夏晴空

背景

在forEach中,不能使用 continue 和 break ,可以使用 return 或 return false 跳出循环,效果与 for 中 continue 一样。注意该方法无法一次结束所有循环。

跳出本次循环

forEach 跳出本次循环,使用return

    [1,2,3,4,5].forEach(function(item,index){
        if(item == 3){
            return
        }
        console.log(3)// item == 3时,执行不到该部分,结束本次循环
    })

跳出整个循环

forEach 跳出整个循环,需要抛出异常

try {
    [1,2,3,4,5].forEach(function(item,index){
        if(item == 3){
            thorw new Error(); //结束整体循环
        }
    })
} catch(e) {

}

跳出嵌套循环

forEach 跳出嵌套循环

try {
    ["a","b","c"].forEach(function(item,index){

        try {
            [1,2,3,4,5].forEach(function(item,index){
                if(item == 3){
                    thorw new Error(); //结束整体循环
                }
            })
        } finally{}//try不能单独存在

        <!--catch(e) {-->
            //内层的catch不能存在,不然会捕获异常,只结束内层forEach
        <!--}-->

    })
} catch(e) { //在最外层捕获异常,可结束嵌套循环

}
阅读 1.4k

大前端技术栈
大前端技术汇总
avatar
浅夏晴空
前端开发工程师

基于大前端端技术的一些探索反思总结及讨论

4.5k 声望
3.1k 粉丝
0 条评论
你知道吗?

avatar
浅夏晴空
前端开发工程师

基于大前端端技术的一些探索反思总结及讨论

4.5k 声望
3.1k 粉丝
宣传栏