ES6扩展:数组展开运算符、区分剩余参数和展开运算符、应用

ES6扩展:数组展开运算符、区分剩余参数和展开运算符、应用

一、数组展开运算符的基本用法

console.log(Math.min(...[3, 1, 2]));    // 1
相当于
console.log(Math.min(3, 1, 2));

二、区分剩余参数和展开运算符
1、根本区别

展开运算符
[3,1,2]->3,1,2

剩余参数
3,1,2->[3,1,2]

2、区分剩余参数和展开运算符

剩余参数
const add = (...args) => {
console.log(args);

展开运算符
console.log(...args);
console.log(...[1, 2, 3]);
};
add(1, 2, 3);

console.log([...[1, 2, 3], 4]);  // [1, 2, 3, 4]
// 相当于[1, 2, 3]->1,2,3

三、数组展开运算符的应用
1、复制数组

const a = [1, 2];
const c = [...a];    //进行复制
//相当于const c = [1, 2];
a[0] = 3;
console.log(a);   [3. 2]
console.log(c);   [1, 2]   c的值并没有改变

2、合并数组

const a = [1, 2];
const b = [3];
const c = [4, 5];
console.log([...a, ...b, ...c]);  //[1, 2, 3, 4, 5]
// console.log([...b, ...a, ...c]);  //[3, 1, 2, 4, 5]
console.log([1, ...b, 2, ...a, ...c, 3]); 
//[1, 3, 2, 1, 2, 4, 5, 3]

3、字符串转为数组
字符串可以按照数组的形式展开

console.log(...'alex'); 
//a l e x
console.log([...'alex']);
//['a', 'l', 'e', 'x']

也可以
console.log('alex'.split(''));

4、常见的类数组转化为数组

1)arguments

function func() {
// console.log(arguments.push);   // undefined
console.log([...arguments]);
}
func(1, 2);    //[1, 2]

2)NodeList

console.log([...document.querySelectorAll('p')]);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

萏语

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

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

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

打赏作者

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

抵扣说明:

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

余额充值