美文网首页
2018-06-11深入浅出ES6(扩展运算符)

2018-06-11深入浅出ES6(扩展运算符)

作者: Cyril丶 | 来源:发表于2018-06-11 15:06 被阅读0次

    ...扩展运算符或Rest(剩余)运算符

    //当出纳如的参数不确定或者多个的时候,就可以当作arguments来使用
    function show(...a){
      console.log(a); //[1,2,3,4,5]
    }
    show(1,2,3,4,5);
    

    此外货站运算符还可以解决数组的引用问题

    let a = [3,5,2,6,1];
    let b = a;
    a.push(33);
    console.log(a);//[3,5,2,6,1,33]
    console.log(b); //[3,5,2,6,1,33]
    

    上面这个例子说明了b是a的一个引用,也就是说二者所在的内存是用一个,要想改变a不影响b的话,就要开辟出一个新内存,解决方式:

    let a = [3,5,2,6,1];
    let b = [...a];
    a.push(33);
    console.log(a); //[3,5,2,6,1,33]
    console.log(b);//[3,5,2,6,1]
    

    扩展运算符还可以用来数组的排序,此排序并不是什么大小排序,二十按照每一位的首位数字进行排序,第一位相同就看第二位,依次排列,和字典式排序相似:

    function orderBy(...a){
      return a.sort();
    }
    console.log(orderBy(3,5,2,6,1)); //[1,2,3,5,6]
    
    let arr = ['aaa','bbb','ccc'];
    let arr2 = "aabbcc";
    console.log(arr); //["aaa", "bbb", "ccc"]
    console.log(...arr);//aaa bbb ccc
    console.log(arr2); //aabbcc
    console.log(...arr2); //a a b b c c
    
    综上所述,可以为安城字符串和数组之间的转换

    Rest运算符是什么:

    function show(a,...b){
      console.log(a);//51
      console.log(b);//[12,7,34,3]
    }
    show(51,12,7,34,3)
    

    前面的参数一一对应,后面的那个...b就代表剩下的参数,因为是剩余参数,所以这个剩余运算符要放在后面的位置,因此有的人又称为剩余运算符。


    GitHub个人主页 :https://github.com/Cyrildog

    如果一件事情你不能拒绝,就学会去享受它!......你活得有多精彩,你赢得可能就又多高!

    [图片上传失败...(image-e1f225-1528700771350)]

    相关文章

      网友评论

          本文标题:2018-06-11深入浅出ES6(扩展运算符)

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