Es6 学习笔记(一)数组扩展
扩展运算符 ...
1.数组的扩展运算符将一个数组转换成一个逗号分隔的参数序列
console.log(...[1,2,3]) //1,2,3
['a', 'b',...[1,3]] //a,b,1,3
2.扩展运算用于函数调用
function push(a, arr){
a.push(...arr);
}
****************************************************************************************
function add(a, b){
return a+b;
}
var arr=[1,8];
add(...arr);
****************************************************************************************
function add(x,y,z,n,m){
return x+y+z+n+m;
}
var a = [1,2,3]
add(1,...a,3);
3.扩展运算符替代数组的apply
//es5
Math.max.apply(null, [1,3,4,5]);
//es6
Math.max(...[1,2,3,5])
//将一个数组插入到到一个数组的尾部
1)Array.prototype.push(arr1,arr2);
2)arr1 = arr1.concat(arr2);
3)arr1.push(...arr2);
//复制数组
arr1 = arr.concat()
arr1 = arr.splice(0)
arr1 = [...arr]
//结构赋值
const [a, ...b] = [1,2,3,4] //a=1 b=[2,3,4]
扩展只能用在最后一个
4.将字符串转换为数组
[...'this is str']; // ["t", "h", "i", "s", " ", "i", "s", " ", "s", "t", "r"]
//正确处理含有uicode码的字符串
'x\uD83D\uDE80y'.length // 4
[...'x\uD83D\uDE80y'].length // 3
//反转字符串
let str = 'x\uD83D\uDE80y';
str.split('').reverse().join('')
// 'y\uDE80\uD83Dx'
[...str].reverse().join('')
// 'y\uD83D\uDE80x'
5.只要实现了Iterator接口的类数组结构,用扩展运算符可以转为真正的数组
[...Nodelist]
最新文章
- canvas,画个纸飞机
- Opencv + vs2012环境配置
- iOS - Swift 异常处理
- CI中的事物
- iTunes获取下载的安装包
- maven中scope参数说明
- Spring分布式事务实现(适用于spring-tx 2.5)
- C# winform 渐变效果
- PHP常用函数之数组篇
- Swift去除两边的特定字符(空格或其它)
- ThinkPhp框架:验证码功能
- winform中的数据绑定
- TNS-12560: Message 12560 not found; No message file for product=network, facility=TNS报错
- 程序执行的过程分析--【sky原创】
- 【Java并发编程】1、ConcurrentHashMap原理分析
- 浅入浅出---JQuery究竟是什么?
- Codeforces Round #423
- CSS3——transform2D的应用
- 【Python】python和json数据相互转换,json读取和写入,repr和eval()使用
- LAMP之Apache
热门文章
- 如何将数据导入到hive中
- frame框架及其实例
- iOS中 扫描二维码/生成二维码具体解释 韩俊强的博客
- AWS上的游戏服务:Lumberyard + Amazon GameLift + Twitch
- 跟我学AngularJs:Controller数据共享、继承、通信使用具体解释
- 使用HTML5制作简单的RPG游戏
- oracle 误删数据的回复操作
- java.util.Date和java.sql.Date之间的转换
- 在PHP中,通过filesize函数可以取得文件的大小,文件大小是以字节数表示的。如果要转换文件大小的单位,可以自己定义函数来实现。
- XMPP资源绑定(Resource Binding)