set是集合,不允许存在重复的元素



const set = new Set()
set.add(1)
set.add(2)

set.values() // 返回一个Iterator
set.has(1) // 元素是否存在
set.size //集合大小
set.delete(1) // 删除元素
set.clear() // 清空元素


set允许传入数组来初始化集合内元素



l = [1,2,3,4,5,6,7,8,9]
a = new Set([l]) // 直接用数组初始化
b = new set([...a]) // 通过a初始化b


可使用forEach方法



l = [1,2,3,4,5,6,7,8,9]
a = new Set(l)
a.forEach((element) => {
console.log(element)
});


并集



a = [1,2,3,4]
b = [2,4,6,8]
const union = new Set([...a, ...b])


交集



a = [1,2,3,4]
b = [2,4,6,8]
aSet = new Set(a) // 去除自身重复
bSet = new Set(b) // 去除自身重复
const intersection = [...aSet].filter(val => {
return bSet.has(val)
})


差集



a = [1,2,3,4]
b = [2,4,6,8]
aSet = new Set(a) // 去除自身重复
bSet = new Set(b) // 去除自身重复
const intersection = [...aSet].filter(val => {
return !bSet.has(val)
})