集合(set)
类似于数组,但是成员值唯一,集合实现了iterator接口,所以可以使用扩展运算符和for,of进行遍历。
集合属性和方法
- size 返回集合的元素个数
- add 增加一个新元素,返回当前集合
- delete 删除元素,返回boolean
- has 检测集合中是否包含某个元素,返回boollean值。
实战
-
数组去重
let arr = [1, 2, 3, 4, 5, 6, 7, 7, 7, 6, 5, 4, 8, 9, 0, 7, 6] let result = [...new Set(arr)] console.log(result)
-
交集
let arr1 = [1, 2, 3, 4, 5, 6, 7, 7, 7, 6, 5, 4, 8, 9, 0, 7, 6] let arr2 = [12, 12, 33, 44, 55, 4, , 3] let result2 = [...new Set(arr1)].filter(item => { let s2 = new Set(arr2) if (s2.has(item)) { return true } else { return false } }) console.log(result2)
-
并集
let result3 = [...new Set([...arr1, ...arr2])] console.log(result3)
-
差集
交集的取反
每日一句