Set类似于数组,不可以有重复的值。
声明Set
let set = new Set()
set.add(1,2,3)
console.log(set) //{1,2,3}
判断元素是否存在
let set = new Set(['q','w'])
console.log(set.has('q')) // tree
删除 delete()
查看 values()
数量 size()
判断 has()
set类型转换成数组
let set = new Set(['qihuanran', 'wangqi'])
console.log(Array.from(set)) //[]
console.log([...set]) //[]
去重
let set = [1,2,3,4,3,2,1]
console.log(...new Set(set))
过滤
let hd = new Set('12312312356456767')
hd = new Set([...hd].filter(item => item<5))
console.log(hd)
并集/叉/交
let a = new Set([1,2,3,4,5,6])
let b = new Set([1,2,3,5,9,10])
// 并集,去重
console.log(new Set([...a,...b]))
//叉集,不同的
console.log(new let([...a].filter(function(item){
return !b.has(item)
})))
// 交集 共同拥有
console.log(new let([...a].filter(function(item){
return b.has(item)
})))
WeakSet
跟set一样不能有重复的,并且必须为引用类型,方法同set