如何将值数组添加到 Set 中

2022-08-30 02:41:31

将数组的所有值添加到 中的老式方法是:Set

// for the sake of this example imagine this set was created somewhere else 
// and I cannot construct a new one out of an array
let mySet = new Set()

for(let item of array) {
  mySet.add(item)
}

有没有更优雅的方法来做到这一点?也许是?mySet.add(array)mySet.add(...array)

PS:我知道两者都不起作用


答案 1

虽然API仍然非常简约,但你可以使用Array.prototype.forEach并缩短你的代码:Set

array.forEach(item => mySet.add(item))

// alternative, without anonymous arrow function
array.forEach(mySet.add, mySet)

答案 2

下面是返回新集的功能方法:

const set = new Set(['a', 'b', 'c'])
const arr = ['d', 'e', 'f']
const extendedSet = new Set([ ...set, ...arr ])
// Set { 'a', 'b', 'c', 'd', 'e', 'f' }