美文网首页
数组的拓展

数组的拓展

作者: Home_2453 | 来源:发表于2019-03-11 08:59 被阅读0次

    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]
    

    相关文章

      网友评论

          本文标题:数组的拓展

          本文链接:https://www.haomeiwen.com/subject/wytvpqtx.html