目录
2.求两个集合(或数组)的并集(Union)、交集(Intersect)和差集(Difference)
es6新增:set和WeakSet数据结构
set:set数据结构。存储一组唯一的、无序的元素的集合
const set = new Set()
console.log(set)
console.log(set.size)
const set = new Set([[2,0,2,2])
console.log(set)
console.log(set.size)
Set结构有以下属性/方法
const set = new Set([[2,0,2,2])
console.log(set.size)
size : 返回Set实例的成员个数
add(value) : 添加某个值,返回Set结构本身
set.add("a")
console.log(set.size)
set.add("a").add("b")
console.log(set.size)
delete(value): 删除某个值,返回一个布尔值,表示是否删除成功
console.log(set.delete(0))
console.log(set)
has(value) : 返回一个布尔值,表示该值是否为Set的成员
console.log(set.has(2))
console.log(set.has(6))
clear(): 清除所有成员,没有返回值
set.clear()
console.log(set.size)
原型链上有interator属性,使用for..of循环
for(let item of set){
console.log(item) }
const arr = [7,8,9]
const set = new Set(arr)
console.log(set.size)
console.log([ ...set ])
console.log(Array.from(set))
const arr = [2,0,2,2,"赚","钱","多","多"]
console.log(Array.from(new Set(arr)))
console.log([...new Set(arr)])
const set1 = new Set([3,4,5]);
const set2 = new Set([4,5,6]);
const set = new Set([...set1,set2])
console.log(set.keys())
console.log(set.values())
console.log(set.entries())
console.log( new Set([...set1].filter(item=>set2.has(item))).keys() )
console.log( new Set([...set1].filter(item=> !set2.has(item))).keys() )
WeakSet 结构与set类似
存储不重复、无序的元素的集合
(1)WeakSet的成员只能是引用类型,不能是其他基本类型
(2)WeakSet不可遍历