1.创建实例
let setObj = new Set()
2.去重
set实例没有重复的值
let arr =[1, 2, 2, 3, 4, 5, 5]
let setObj = new Set(arr)
console.log(setObj) //{1, 2, 3, 4, 5}
let arr2 = [...setObj]
//let arr2 = Array.from(setObj)
console.log( arr2) //[1,2,3,4,5]
3.元素个数size
let arr =[1, 2, 2, 3, 4, 5, 5]
let setObj = new Set(arr)
console.log(setObj.size) //5
4.添加add()
let arr =[1, 2, 2, 3, 4, 5, 5]
let setObj = new Set(arr).add(6)
console.log(setObj) //{1, 2, 3, 4, 5, 6}
4.删除delete()
let arr = [1, 2, 2, 3, 4, 5, 5]
let setObj = new Set(arr)
let delok1 = setObj.delete(5)//是否删除成功
console.log(delok1, setObj)//true {1, 2, 3, 4}
console.log(delok2, setObj)//false {1, 2, 3, 4}
5.查看has()
let arr = [1, 2, 2, 3, 4, 5, 5]
let setObj = new Set(arr)
let hasok1 = setObj.has(1)
let hasok2 = setObj.has(7)
console.log(hasok1,hasok2)//true false
6.清空clear()
let arr = [1, 2, 2, 3, 4, 5, 5]
let setObj = new Set(arr)
let clearObj = setObj.clear()
console.log(clearObj)//undefined
7.forEach和for-of方法
let arr = [1, 2, 2, 3, 4, 5, 5]
let setObj = new Set(arr)
setObj.forEach(item => {
console.log(item)
})
for (const item of setObj) {
console.log(item );
}
8.并集、交集、差集
let arr1 = new Set([1, 2, 3]);
let arr2 = new Set([4, 3, 2]);
let union = new Set([...arr1, ...arr2]);
let intersect = new Set([...arr1].filter(x => arr2.has(x)));
let difference = new Set([...arr1].filter(x => !arr2.has(x)));
console.log('并集', union)//并集 Set(4) {1, 2, 3, 4}
console.log('交集', intersect)//交集 Set(2) {2, 3}
console.log('差集', difference)//差集 Set(1) {1}