当前位置 博文首页 > 纸飞机博客:展开运算符(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]]
cs