作用:将一个数组转为用逗号分隔的参数序列。

//该运算符主要用于函数调用。
function push(array, ...items) {
array.push(...items);
} function add(x, y) {
return x + y;
} var numbers = [4, 38];
add(...numbers) // 42

//扩展运算符取代apply方法的一个实际的例子,应用Math.max方法,简化求出一个数组最大元素的写法。
// ES5 的写法
Math.max.apply(null, [14, 3, 77]) // ES6 的写法
Math.max(...[14, 3, 77]) // 等同于
Math.max(14, 3, 77);

 

//通过push函数,将一个数组添加到另一个数组的尾部
// ES5的 写法
var arr1 = [0, 1, 2];
var arr2 = [3, 4, 5];
Array.prototype.push.apply(arr1, arr2); // ES6 的写法
var arr1 = [0, 1, 2];
var arr2 = [3, 4, 5];
arr1.push(...arr2);

  

//合并数组
// ES5
[1, 2].concat(more)
// ES6
[1, 2, ...more] var arr1 = ['a', 'b'];
var arr2 = ['c'];
var arr3 = ['d', 'e']; // ES5的合并数组
arr1.concat(arr2, arr3);
// [ 'a', 'b', 'c', 'd', 'e' ] // ES6的合并数组
[...arr1, ...arr2, ...arr3]
// [ 'a', 'b', 'c', 'd', 'e' ]

 

扩展运算符将字符串转为真正的数组
[...'hello']
// [ "h", "e", "l", "l", "o" ]

  

 

 

  

最新文章

  1. sassCore
  2. easyUI文本框textbox笔记
  3. BizTalk开发系列(十六) XML命名空间
  4. 利用Keydown事件阻止用户输入
  5. 《高质量C++/C编程指南》陷阱 【转】
  6. web基础之hibernate(一篇)
  7. TFTP网络协议分析---15
  8. SQL SERVER 组内排序
  9. 386. Lexicographical Numbers
  10. ViewPager和Fragment组合 v4包下的页面切换
  11. mongodb副本集搭建过程中的问题和解决技巧
  12. Python开发——7.迭代器、生成器和装饰器
  13. 常见的压缩文件格式案例tarZ
  14. 【异常及源码分析】org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping
  15. webpack 打包问题2
  16. 采用Oracle的dbms_obfuscation_toolkit的加密
  17. Compile cpp File Manually without IDE under Mingw Environment
  18. 让人一看就懂的excel相对引用和绝对引用案例解析
  19. mybatis在oracle中的分页扩展
  20. postgresql----Gist索引

热门文章

  1. Linux more和less
  2. 点9图 Android设计中如何切图.9.png
  3. 大数据python词频统计之hdfs分发-cacheArchive
  4. vue三大框架
  5. django模板 内建标签
  6. hdu5015构造转移矩阵
  7. vue router.push(),router.replace(),router.go()和router.replace后需要返回两次的问题
  8. Python GUI界面编程
  9. PHP编译安装时常见错误解决办法
  10. AI学习吧-公钥私钥、沙箱环境