美文网首页
JS入门之数组(下)

JS入门之数组(下)

作者: 赎_a | 来源:发表于2019-06-27 10:26 被阅读0次

    三、数组的遍历方法

    1. Array.forEach() (遍历)
      从头到尾遍历数组(只能通过try/catch终止循环)
      不改变原数组
      第一个参数: 元素
      第二个参数: 下标
      第三个元素: 原数组

    栗子:

    var arr = [2, 4, 5, 6];
    var res = arr.forEach(function (ele, index, array) {
    console.log(ele, index, array);
    });
    console.log(res); // undefined
    
    1. Array.map(); (映射)
      返回新数组,不改变原数组
      要有return
      返回被加工后的新元素

    栗子:

    var res = arr.map(function (ele, index, arr) {
    console.log(ele, index, arr);
    return ele + 1;
    
    });
    console.log(res); // [3, 5, 6, 7]
    console.log(arr); // [2, 4, 5, 6]
    
    1. Array.filter() 过滤
      返回满足条件的元素组成的新数组
      return 条件; // 元素是否满足你定义的条件

    栗子:

    var res = arr.filter(function (ele, index, arr) {
    console.log(ele, index, arr);
    return ele >= 4;
    });
    console.log(res); // [4, 5, 6]
    console.log(arr); // [2, 4, 5, 6]
    
    1. Array.every() 和 Array.some()
      every():每一项都返回true,则返回true
      some(): 某一项返回true,则返回true
    1. reduce()和reduceRight()
      使用指定的函数将数组元素进行组合,生成单个值
      指定函数中第一个参数为 前一个值
      第二个参数为 前一个值
      array.reduce(function (上一个值, 当前元素) {}, 起始值)
      reduce():从数组的第一项开始,逐个遍历到最后一个
      reduceRight() 则从数组的最后一项开始,向前遍历到第一项

    栗子:

    var arr = [2, 4, 5, 6];
    var res = arr.reduce(function (pre, cur, index) {
    // pre: 上一次循环的结果
    // cur: 当前的元素
    // index: 下标
    console.log(pre, cur, index);
    return cur + pre;
    }, 10);
    console.log(res);
    

    四、如何判断数组

    1. arr.constructor === Array
    2. Object.prototype.toString.call(arr) === '[object Array]'
    3. Array.isArray(arr)

    相关文章

      网友评论

          本文标题:JS入门之数组(下)

          本文链接:https://www.haomeiwen.com/subject/iaylqctx.html