欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ES6数组扩展

程序员文章站 2023-12-22 13:45:40
...

1、扩展操作符

可以看成rest参数的逆运算

const a1 = [1, 2, 3]

console.log(...a1) // 1 2 3

// 应用场景:

1:复制数组

    const arr1 = [1, 2];

    const arr2 = [...a1];

2:合并数组
    const a1 = [1, 2, 3];
    const a2 = [4, 5, 6];
    const a3 = [7, 8, 9];

    ES5写法:a1.concat(a2).concat(a3);
    ES6写法:[...a1, ...a2, ...a3];
3:与解构赋值合用
    const a = [0, 1, 2, 3, 4, 5]
    ES5写法:const a1 = a[0],
                    a2 = a.slice(1);
    ES6写法:const [a1, ...a2] = a;

2、Array.from()

将类数组转化为数组

const obj = {
        '0': '哈',
        '1': '嘻',
        '2': '哦',
        '3': '呵',
        'length': 4
      }
      
ES5写法:console.log([].slice.call(obj));
ES6写法:console.log(Array.from(obj));

3、Array.of()

将一组值转化为数组

Array.of(0, 1, '4')
// [0, 1, '4']

4、copyWithin()

在数组内部,将指定位置的成员复制到其他位置(替换之前的成员),然后返回当前数组。

const arr = [0, 1, 2, 3, 4, 5, 6];

arr.copyWithin(3)
// [0, 1, 2, 0, 1, 2, 3]

arr.copyWithin(3, 2)
// [0, 1, 2, 2, 3, 4, 5]

arr.copyWithin(3, 2, 4)
// [0, 1, 2, 2, 3, 5, 6]


// *** 只能分开使用,因为copyWidthin()会改变原数组

 

上一篇:

下一篇: