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

...扩展运算符或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)]

推荐阅读更多精彩内容

  • ☞☞ 个人主页欢迎访问 ☜☜ 大家好,本人名叫苏日俪格,大家叫我 (格格) 就好,在上一章节中我们学到了箭头函数的...
    苏日俪格阅读 5,458评论 0 6
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 3,620评论 0 5
  • 昨天出去参加一个志愿者活动,在等待活动的时间里,看到旁边有两个人正在聊天。一个是年纪比较大,看起来慈眉善目的老太太...
    绿野伽人阅读 205评论 0 5
  • 文/林小白 你是不是看到其他人和老外谈笑风生而羡慕不已? 你是不是在国外站在他人面前憋红了脸也蹦不出几个单词? 你...
    Nicole林小白阅读 2,901评论 9 84
  • 在我生病住院的这几天,接触了一个50多岁的阿姨,她是我旁边病床一个姐姐(其实她已经40岁了,我应该称呼她为阿姨的,...
    妍兮阅读 435评论 2 0
  • Autocad2017: 链接:https://pan.baidu.com/s/1jJRvazO 密码:jatr ...
    luisU阅读 333评论 0 0
  • 清心信箱 清心老师: 你好!在简书看了你的文章,决定给你写这封信。我想我应该主动寻求帮助,这样会更快地走出困境。 ...
    清心倾心阅读 1,205评论 16 31