關於js中遍歷總結


1.for循環

 1 var
 2     arr = [];
 3 for (var i = 0; i < arr.length; i++) {
 4     if (條件1)
 5         return;
 6     if (條件2)
 7         break;
 8     if (條件3)
 9         continue;
10 };

js最常用的循環必然是for循環,最基礎的用法,用於數組遍歷,但是代碼書寫過多。

 1 var
 2     arr = [];
 3 Array.prototype.customFunc = function () { };
 4 for (var item in arr) {
 5     if (!arr.hasOwnProperty(item)) {
 6         if (條件1)
 7             return;
 8         if (條件2)
 9             break;
10         if (條件3)
11             continue;
12     }
13 };

var in的形式遍歷用於遍歷數組並不理想,這個遍歷方式是遍歷屬性的,特殊情況下是可以使用,使用這種遍歷方式會將數組本身的屬性也遍歷出來,比如我們在Array上擴展一個方法customFunc,此時遍遍歷數組會將customFunc也遍歷出來達不到預期效果,非要用怎么辦,加一層判斷利用hasOwnProperty方法將數組原型中的屬性扣出去,這樣遍歷就不用擔心前面的問題了。

2.ES5遍歷方式

var
    arr = [];
arr.forEach((item, index) => {
    if (條件)
        return;
})

forEach是ES5定義的一種遍歷方式,這個方法用起來很方便,但是弊端是無法使用break,continue,也就是無法跳出一次循環,只能用return結束整個函數執行,這點就比較尷尬了,如果有跳出循環的邏輯還是用for循環吧。效率上for循環也高於forEach。

3.ES6遍歷方式

 1 var
 2     arr = [];
 3 for (var item of arr) {
 4     if (條件1)
 5         return;
 6     if (條件2)
 7         break;
 8     if (條件3)
 9         continue;
10 }

ES6的for循環寫法。這種方式非常好,彌補了for(var in)的弊端,也彌補了forEach的弊端。而且這種遍歷方式還可以對String、Object等等進行遍歷。

以上列舉了一下常用的遍歷方式,在這里mark一下。


免責聲明!

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



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