Skip to content

扩展运算符

扩展运算符 能将 数组 转换为逗号分隔的 参数序列

语法:...

一、语法

js

// 数组
const [a, b, ...c] = [1, 2, 3, 4, 5];
console.log(a); // 1
console.log(b); // 2
console.log(c); // [3, 4, 5]

// 函数
const xiyou = ['唐僧', '孙悟空', '猪八戒', '沙僧']
function qujing() {
    console.log(arguments);
}
qujing(xiyou) // [Arguments(1)] { '0': [ '唐僧', '孙悟空', '猪八戒', '沙僧' ] }
qujing(...xiyou); // ["唐僧", "孙悟空", "猪八戒", "沙僧"]

二、扩展运算符的应用

1、数组合并

js
const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const arr3 = [...arr1, ...arr2];
console.log(arr3); // [1, 2, 3, 4, 5, 6]

2、数组去重

js
const arr = [1, 2, 3, 4, 5, 1, 2, 3, 4, 5];
const newArr = [...new Set(arr)];
console.log(newArr); // [1, 2, 3, 4, 5]

3、数组克隆

js
const arr = [1, 2, 3, 4, 5];
const newArr = [...arr];
console.log(newArr); // [1, 2, 3, 4, 5]

4、将伪数组转换为数组

js
const obj = {
    0: 'a',
    1: 'b',
    2: 'c',
}

const arr = [...obj];
console.log(arr); // ['a', 'b', 'c']

const arr = Array.from(obj);
console.log(arr); // ['a', 'b', 'c']

const divs = document.querySelectorAll('div');
const arr = [...divs];
console.log(arr); // [div, div, div]

Released under the MIT License.