展开运算符(spread)

纸飞机 发表于 2021/10/19 00:14:04 2021/10/19
【摘要】 三个点(…),将可迭代对象转为用逗号分隔的参数序列。如同rest参数的逆运算。 console.log(...[l, 2,3])//123 const a = [1,2,3],b = [4,5,6];//赋值数组const c = [...a] // [1,2,3]//合并数组const d = [...a,...b] //[l,2...

三个点(…),将可迭代对象转为用逗号分隔的参数序列。如同rest参数的逆运算。


  
  1. console.log(...[l, 2,3])
  2. //123

  
  1. const a = [1,2,3],
  2. b = [4,5,6];
  3. //赋值数组
  4. const c = [...a] // [1,2,3]
  5. //合并数组
  6. const d = [...a,...b] //[l,2,3,4,5,6]
  7. //将一个数组添加到另一个数组的尾部
  8. a.push(...b);
  9. //字符串转为真正的数组
  10. [...'hello'] //['h','e','l','l','o']

结合函数,将数组变为参数序列 


  
  1. function add(x, y) {
  2. return x + y;
  3. }
  4. var numbers = [4,38];
  5. add(...numbers) //42

与解构赋值结合 


  
  1. const [first, ...rest] = [1,2,3,4,5];
  2. first//1
  3. rest//[2,3,4,5]

拓展具有Iterator接口的对象


  
  1. var s = new Set();
  2. s.add(1);
  3. s.add(2);
  4. var arr= [...s]// [1,2]
  5. function *gen() {
  6. yield 1;
  7. yield 2;
  8. yield 3;
  9. }
  10. var arr= [...gen()]//[1, 2, 3]
  11. var m = new Map();
  12. m.set(1,1)
  13. m.set(2,2)
  14. var arr = [...m] // [[1,1],[2,2]]

文章来源: root181.blog.csdn.net,作者:前端纸飞机,版权归原作者所有,如需转载,请联系作者。

原文链接:root181.blog.csdn.net/article/details/120230636

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。