数组的拓展

2019-03-11  本文已影响0人  Home_2453

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]
上一篇 下一篇

猜你喜欢

热点阅读