• 关于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一下。

  • 相关阅读:
    【Educational Codeforces Round 33 B】Beautiful Divisors
    【Educational Codeforces Round 33 A】Chess For Three
    【习题 6-7 UVA
    【习题 6-6 UVA
    【习题 6-5 UVA-1600】Patrol Robot
    【习题 6-4 UVA-439】Knight Moves
    【习题 6-3 UVA
    【POJ1144】Network(割点)(模板)
    【CF711D】Directed Roads(环,强连通分量)
    【CF711C】Coloring Trees(DP)
  • 原文地址:https://www.cnblogs.com/moran1992/p/5916342.html
Copyright © 2020-2023  润新知