forEach方法如何跳出循環


1.for方法跳出循環

 function getItemById(arr, id) {
        var item = null;
        for (var i = 0; i < arr.length; i++) {
            if (arr[i].id == id) {
                item = arr[i];
                break;
            }
        }
        return item;
    }

2.forEach方法跳出循環

function getItemById(arr, id) {
        var item = null;
        try {
            arr.forEach(function (curItem, i) {
                if (curItem.id == id) {
                    item = curItem;
                    throw Error();
                }
            })
        } catch (e) {
        }
        return item;
    }

3.補充

  3.1 foreach()不能使用break和continue這兩個關鍵字,foreach和普通的for循環是不同的,它不是普通的遍歷,實現continue的效果可以直接使用return。

  3.2 forEach的優勢一個是它的回調函數形成了一個作用域,它的curItem和i不會像for循環一樣污染全局變量,再一個是更容易寫出來函數式的代碼,和map、filter、reduce這些高階函數是一脈相承的。

  3.3 forEach()本身無法跳出循環,必須遍歷所有的數據才能結束。

  


免責聲明!

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



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