1. 擴展運算符(spread) ...
- 有序集合
{
let arr = [1, 2, 3, 4, 5];
console.log(...arr); // 1 2 3 4 5
let [a, b, ...c] = arr;
console.log(c); // [3,4,5]
}
2. ... 的應(yīng)用:
應(yīng)用1: 可以當(dāng)做 可變參數(shù)數(shù)組 arguments 使用
{
let fn1 = (...arr) => {
// arguments
console.log(arr); //[1, 2, 3, 4, 5]
console.log(arr[0]); // 1
}
fn1(1, 2, 3, 4, 5);
}
應(yīng)用2: 數(shù)組深拷貝
常見三種拷貝方式 :
- for循環(huán)??
- 數(shù)組操作方法concat
- ... 擴展運算符**
let arr = [1, 2, 3, 4, 5];
// 1. for循環(huán)
let arr1 = [];
for (let i = 0; i < arr.length; i++) {
arr1[i] = arr[i];
}
arr1.push(6);
console.log(arr1, arr); // [1, 2, 3, 4, 5, 6] [1, 2, 3, 4, 5]
// 2. 數(shù)組操作方法:concat();
let arr2 = [].concat(arr);
arr2.push(6);
console.log(arr2, arr); // [1, 2, 3, 4, 5, 6] [1, 2, 3, 4, 5]
// 3. ...
let arr3 = [...arr];
let [...arr4] = arr;
arr3.push(6);
arr4.push(7);
console.log(arr3, arr); // [1, 2, 3, 4, 5, 6] [1, 2, 3, 4, 5]
console.log(arr4, arr); // [1, 2, 3, 4, 5, 7] [1, 2, 3, 4, 5]
3. 數(shù)組的拼接:
let arr = [1, 2, 3];
let arr1 = [4, 5, 6];
let arr2 = [...arr,...arr1];
console.log(arr2); // [1, 2, 3, 4, 5, 6]