js forEach跳出循環


假設當我們只需知道某個數組有沒有某個屬性,如果找到了直接跳出循環,省略掉剩下的循環步驟是較優化的操作,但是for中是可以利用break跳出循環,但break在forEach中無效,那么forEach能不能跳出循環呢?當然是可以。

1.正常for循環break跳出循環

let strArr = ['a', 'b', 'c', 'd'],
    i = 0,
    length = strArr.length;
for (; i < length; i++) {
    console.log(strArr[i]);//a
    if(arr[i] === 'a'){
        //do something
    };
    break;
};

2.forEach結合try...catch()可以跳出循環

try {
    var arr = [1, 2, 3, 4];
    arr.forEach(function (item, index) {
        //跳出條件
        if (item === 3) {
            throw new Error("LoopTerminates");
        }
        //do something
        console.log(item);
    });
} catch (e) {
    if (e.message !== "LoopTerminates") throw e;
};

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM