ES6之扩展运算符的运用

1.合并数组

//ES5
var arr1=[0,1,2];
var arr2=[3,4,5];
Array.prototype.push.apply(arr1,arr2);
console.log(arr1);
//ES6写法
var arr3=[0,1,2];
var arr4=[3,4,5];
arr3.push(...arr4);
console.log(arr3);

2.用于数组赋值

const [first,...arr]=[1,2,3,4,5];
console.log(first);//1
console.log(arr);//[ 2, 3, 4, 5 ]

注意:扩展运算符只能放在后面,否则会报错,如下

const [...arr,first]=[1,2,3,4,5];
 console.log(first); //报错

3.函数的返回值
JavaScript的函数只能返回一个值,如果需要返回多个值,只能返回数组或对象。扩展运算符提供了解决这个问题的一种变通方法。

var dateFields = readDateFields(database);
var d = new Date(...dateFields);

上面代码从数据库取出一行数据,通过扩展运算符,直接将其传入构造函数Date。
4.字符串
扩展运算符还可以将字符串转为真正的数组。

var arr=[...'hello'];
console.log(arr);//[ 'h', 'e', 'l', 'l', 'o' ]

5.Map和Set结构,Generator函数
扩展运算符内部调用的是数据结构的Iterator接口,因此只要具有Iterator接口的对象,都可以使用扩展运算符,比如Map结构。

let map = new Map([ //Map是键值对结构
    [1,'one'],
    [2,'two'],
    [3,'three']
  ])
  let arr = [...map.keys()];
  let arr1=[...map.values()];
  console.log(arr); // [1, 2, 3]
  console.log(arr1); // [ 'one', 'two', 'three' ]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微微笑再加油

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值