zoukankan      html  css  js  c++  java
  • ES6学习笔记----数组的扩展

    1、Array.from   应用两类:类似于数组的对象和可遍历的的对象(包含Map和Set),只有转换成真正的数组,才可使用数组的方法。

         类比:...扩展运算符也可以使某些对象变成数组

    2、Array.of 主要弥补数组构造函数Array()的不足,参数的个数的不同,会导致Array()的差异

      没有参数,表示创建空数组

      一个参数,表示指定创建数组的长度

       2个以上,表示规定数组的元素

    Array.of(3, 11, 8) // [3,11,8]
    Array.of(3) // [3]
    Array.of(3).length // 1

    3、copyWithin,在当前数组内部,将指定位置的成员复制到其他位置,然后返回到当前数组

          Array.copyWithin(target,start,end)

        target(必须):从该位置开始替换数据

           start(可选):从该位置开始读取数据,默认为0

           end(可选):到该位置前停止读取数据,默认等于数组长度

    4、find()  和  findIndex()

          find()方法,用于找出第一个符合条件的数组成员

           如果找到第一个,返回--值符合的成员,,如果没有符合,返回undefined.

        回调函数可以接受三个参数: 依次为当前的值,当前的位置和原数组

    var c = [1, 5, 10, 15].find(function (value, index, arr) {
        return value > 9;
    });
    console.log('c:' + c);
    var d = [1, 5, 10, 15].findIndex(function (value, index, arr) {
        return value > 9;
    });

         findIndex() 与find类似,一般情况下,返回第一个符合条件的成员,若都不符合,则返回-1.

        和indexOf相比的优点:可以发现NaN

    5、fill()方法使用给定值,填充一个数组。

         一个参数:数组全部抹去,填充为参数值

        三个参数:用于指定填充的起始位置和结束位置。

    // 数组实例的fill()
    var e = ['a', 'b', 'c'].fill(7);
    console.log(e);
    // fill()海可以接受第二个和第三个参数,用于指定填充的起始位置和结束位置
    var f = ['a', 'b', 'c'].fill(7, 1, 2);
    console.log(f);

    6、数组实例的entries(),keys(),values(), 

        entries()是对键值对的遍历

       keys()是对键名遍历

       values()是对键值的遍历。

    // 数组实例的entries(), keys()和values()
    for (let index of ['a', 'b'].keys()) {
        console.log(index);
    }
    // for (let elem of ['a', 'b'].values()) {
    //     console.log(elem);
    // }
    for (let [index, elem] of ['a', 'b'].entries()) {
        console.log(index, elem);
    }

    7、includes();

         表示某个数组是否包含某个给定的值,返回true或false

    [1,2,3,4].includes(2)//true
    [1,2,3,4].includes(5)//false

           

         

  • 相关阅读:
    css3 的box-sizing属性理解
    web自定义炫酷字体
    Canvas rontate(旋转) 使用误区
    HTM5 之 Canvas save 、restore 恢复画布状态的理解
    Canvas的quadraticCurveTo 和 bezierCurveTo 画曲线 方法细说
    关于EF的一点小记录
    IIS 发布webservice 需要用户名和密码访问 解决
    【算法笔记】A1060 Are They Equal
    【算法笔记】A1063 Set Similarity
    【算法笔记】B1052 卖个萌
  • 原文地址:https://www.cnblogs.com/donglt-5211/p/9882386.html
Copyright © 2011-2022 走看看