es6 数组扩展方法

时间:2022-04-23
本文章向大家介绍es6 数组扩展方法,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1.扩展运算符

    含义: 扩展运算符,三个点(...),将一个数组转为用逗号分隔的参数顺序。

      例如:

        console.log([1,2,3]);
        console.log(...[1,2,3]);

        结果: [1,2,3]

            1,2,3

        用法: 作为函数参数

          function f(x,y,z) {
            console.log(y);
            // 1
          }
          let args = [0,1,2];
            f(...args);

        用法:求数组的最大值

          Math.max(..[14,4,44]) //44

        应用:复制数组

          const a1 = [1,2];
          const a2 = a1;
          a2[0] = 2;
          a1 // [2,2]

        应用: 合并数组

          [1,2,...more]

        应用:与解构赋值结合

          [a,...reast] = list

        应用: 可以将字符串转为真正的数组

          console.log([...'hello'])
          [ "h", "e", "l", "l", "o" ]

2.Array.from()

    方法用于将两个类对象转为真正的数组。

      应用:类数组对象转为真正的数组

        let arrayLike = {
          '0':'a',
          '1':'b',
          '2':'c',
          length:3
        }
        let arr = Array.from(arrayLike);
        console.log(arr);
          //["a", "b", "c"]

      应用:将字符串转为数组

        var arr = Array.from('hello');
        console.log(arr);
        ["h", "e", "l", "l", "o"]

      如果是一个真正的数组那么返回原数组

        Array.from 还可以接受第二个参数。

        let arr = Array.from([1,2,3],(x)=> x*x);
          console.log(arr);
          // [1, 4, 9]

3.Array.of 方法用于将一组数值,转为数组

    例如:

      var arr = Array.of(3,11,8);
        console.log(arr);
        // [3, 11, 8]

4.数组实例的 copyWithin()

    数组实例的copyWithin 方法,在当前数组内部,将指定位置的成员复制到其他位置,

  (会覆盖原来成员),然后返回当前数组,也就是说,使用这个方法,会修改当前数组。

    它接受三个参数。

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

      start(可选):从该位置开始读取数据,默认为 0。如果为负值,表示倒数。

      end(可选):到该位置前停止读取数据,默认等于数组长度。如果为负值,表示倒。

5.数组的实例的 find() 和findIndex()

    数组实例的find 方法,用于找出第一个符合条件的数组成员,它的参数是一个回调函

    数,所有出租成员一次执行该回调函数,直到找到的哥返回值为true的成员,然后

    返回该成员,如果没有符合条件的返回aundefined

    let a = [1,4,-5,10].find((n)=> n <0)
      console.log(a); // -5
    let b = [1,5,10,15].find(function (value,index,arr) {
      return value > 9;
    })
    console.log(b); // 10

    findIndex 方法的用法与find 方法返回非常类似,返回第一个符合条件的数组

      成员的位置,如果所有成员不符合条件返回-1。

      例如[1,5,10,15].findIndex(function(value,index,arr){

        return value > 9;

      })

6.数组实例的fill()

    fill 方法使用给定值,填充一个数组;

    var arr = ['a','b','c'].fill(7);
    console.log(arr); // [7,7,7]

7.数组实例的 entries(), keys() 和 values()用于遍历数组,他们都是返回一个遍历器对象。

    keys() 是对键名的遍历,values() 是对键值的变量,entries() 是对键值对的遍历。

    for (let index of ['a','b'].keys()){
      console.log(index);
    }

8.数组实例的includes()

    Array.prototype.includes 方法返回一个布尔值,表示某个数组是否包含给定的值。
    [1,2,3].includes(2) // true
    [1,2,3,4].includes(4) //false