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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

       

     

 

posted @ 2018-10-31 12:51  donglt  阅读(116)  评论(0编辑  收藏  举报