forEach跳出循環體

背景

在forEach中,不能使用 continue 和 break ,能夠使用 return 或 return false 跳出循環,效果與 for 中 continue 同樣。注意該方法沒法一次結束全部循環。code

跳出本次循環

forEach 跳出本次循環,使用returnit

[1,2,3,4,5].forEach(function(item,index){
        if(item == 3){
            return
        }
        console.log(3)// item == 3時,執行不到該部分,結束本次循環
    })

跳出整個循環

forEach 跳出整個循環,須要拋出異常io

try {
    [1,2,3,4,5].forEach(function(item,index){
        if(item == 3){
            thorw new Error(); //結束總體循環
        }
    })
} catch(e) {

}

跳出嵌套循環

forEach 跳出嵌套循環console

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) { //在最外層捕獲異常,可結束嵌套循環

}
相關文章
相關標籤/搜索