展开运算符(spread)
Posted 前端纸飞机
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了展开运算符(spread)相关的知识,希望对你有一定的参考价值。
三个点(…),将可迭代对象转为用逗号分隔的参数序列。如同rest参数的逆运算。
console.log(...[l, 2,3])
//123
const a = [1,2,3],
b = [4,5,6];
//赋值数组
const c = [...a] // [1,2,3]
//合并数组
const d = [...a,...b] //[l,2,3,4,5,6]
//将一个数组添加到另一个数组的尾部
a.push(...b);
//字符串转为真正的数组
[...'hello'] //['h','e','l','l','o']
结合函数,将数组变为参数序列
function add(x, y) {
return x + y;
}
var numbers = [4,38];
add(...numbers) //42
与解构赋值结合
const [first, ...rest] = [1,2,3,4,5];
first//1
rest//[2,3,4,5]
拓展具有Iterator接口的对象
var s = new Set();
s.add(1);
s.add(2);
var arr= [...s]// [1,2]
function *gen() {
yield 1;
yield 2;
yield 3;
}
var arr= [...gen()]//[1, 2, 3]
var m = new Map();
m.set(1,1)
m.set(2,2)
var arr = [...m] // [[1,1],[2,2]]
以上是关于展开运算符(spread)的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript展开操作符(Spread operator)介绍