• js 循环(for ,for...in... , for...of... ,foreach)


    1.for

    eg:利用for循环计算1 * 2 * 3 * ... * 10的结果:

    var sum = 1;

    for(var i = 2;i < 11;i++){

      sum *=  i;

    }

    console.log(sum);

    2.for...in...

    var o = {
        name: 'Jack',
        age: 20,
        city: 'Beijing'
    };
    for (var key in o) {
        console.log(key); // 'name', 'age', 'city'

    console.log(o[key]); // 'Jack', '20', 'Beijing'
    }
    要过滤掉对象继承的属性,用hasOwnProperty()来实现.
    var a = ['A', 'B', 'C'];
    for (var i in a) {
        console.log(i); // '0', '1', '2'
        console.log(a[i]); // 'A', 'B', 'C'
    }
    注意:for ... inArray的循环得到的是String而不是Number
     

    3.for...of...,是ES6引入的新的语法

    eg:

    var a = ['A', 'B', 'C'];
    var s = new Set(['A', 'B', 'C']);
    var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]);
    for (var x of a) { // 遍历Array
        console.log(x);
    }
    for (var x of s) { // 遍历Set
        console.log(x);
    }
    for (var x of m) { // 遍历Map
        console.log(x[0] + '=' + x[1]);
    }
    //A B C
    //A B C

    //1=x 2=Y 3=Z

    4.forEach()方法是ES5.1标准引入的
    var a = ['A', 'B', 'C'];

    a.forEach(function (element, index, array) {
       // element: 指向当前元素的值
       // index: 指向当前索引
       // array: 指向Array对象本身
       console.log(element + ', index = ' + index);
    });

    var s = new Set(['A', 'B', 'C']);
    s.forEach(function (element, sameElement, set) {
        console.log(element);
    });


    var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]);
    m.forEach(function (value, key, map) {
        console.log(value);
    });




     
     
  • 相关阅读:
    矩阵距离
    CF409D Big Data
    AT2685 i18n
    P3366 【模板】最小生成树
    P3367 【模板】并查集
    ISBN(洛谷P1055)
    关于数组
    0021---一元一次方程
    0020---求圆锥体积
    0019---求圆台的体积
  • 原文地址:https://www.cnblogs.com/hehuiqiong/p/12851091.html
Copyright © 2020-2023  润新知