js扩展运算符(spread)是三个点(...)
2024-08-28 11:13:02
作用:将一个数组转为用逗号分隔的参数序列。
//该运算符主要用于函数调用。
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" ]
最新文章
- sassCore
- easyUI文本框textbox笔记
- BizTalk开发系列(十六) XML命名空间
- 利用Keydown事件阻止用户输入
- 《高质量C++/C编程指南》陷阱 【转】
- web基础之hibernate(一篇)
- TFTP网络协议分析---15
- SQL SERVER 组内排序
- 386. Lexicographical Numbers
- ViewPager和Fragment组合 v4包下的页面切换
- mongodb副本集搭建过程中的问题和解决技巧
- Python开发——7.迭代器、生成器和装饰器
- 常见的压缩文件格式案例tarZ
- 【异常及源码分析】org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping
- webpack 打包问题2
- 采用Oracle的dbms_obfuscation_toolkit的加密
- Compile cpp File Manually without IDE under Mingw Environment
- 让人一看就懂的excel相对引用和绝对引用案例解析
- mybatis在oracle中的分页扩展
- postgresql----Gist索引
热门文章
- Linux more和less
- 点9图 Android设计中如何切图.9.png
- 大数据python词频统计之hdfs分发-cacheArchive
- vue三大框架
- django模板 内建标签
- hdu5015构造转移矩阵
- vue router.push(),router.replace(),router.go()和router.replace后需要返回两次的问题
- Python GUI界面编程
- PHP编译安装时常见错误解决办法
- AI学习吧-公钥私钥、沙箱环境