數組的拓展

1、拓展運算符
拓展運算符是三個點(...)。它好比rest參數的逆運算,將一個數組轉為逗號分割的參數序列。

console.log(...[1,2,3])    //1 2 3
console.log(1,[2,3,4],5)    //1 2 3 4 5

該運算符主要用于函數調用。

function fun(x,y){
  console.log(x + y)    //3
}
let num = [1,2];
fun(...num)

替代函數apply方法

let arr1 = [0, 1, 2];
let arr2 = [3, 4, 5];
arr1.push(...arr2);
//上面代碼中,push方法不能是數組,有了拓展運算符,就可以直接將數組傳入push方法。

拓展運算符的運用

(1)復制數組
數組是復合的數據類型,直接復制的話,只是復制了指向底層數據解構的指針,而不是克隆一個全新的數組。
擴展運算符提供了復制數組的簡便寫法。

let arr1 = [1,2,3]
let arr2 = [...arr1]    //ES6克隆數組
arr2[0] = '修改數組';
console.log(arr2)    //['修改數組',2,3]
console.log(arr1)    //[1,2,3]

(2)合并數組
拓展運算符提供了數組合并的新寫法。

let arr1 = [1,2,3];
let arr2 = [3,4,5];
let arr3 = [4,4,5,6,7,8,9,];
let arr = [...arr1,...arr2,...arr3];
console.log(arr);    //[1, 2, 3, 3, 4, 5, 4, 4, 5, 6, 7, 8, 9]

(4)字符串
拓展運算符還可以將字符串轉為真正的數組

let s = [...'hello']
console.log(s)    //["h", "e", "l", "l", "o"]

3、Array.of()
Array.of()將一組值,轉為數組

Array.of(1,2,3)    //[1,2,3]
Array.of(3)    //[3]
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。