集合
表示无重复值的有序列表
创建集合
JavaScript
let set = new Set()一些常用的操作
JavaScript
// 添加元素
set.add(2)
set.add("Hello")
// 无法添加一个重复内容的值
set.add("Hello")
set.add([1,2,4,6])
// 删除元素
set.delete("Hello")
// 检测是否存在
console.log(set.has(2))
console.log(set);将集合转换为数组
JavaScript
let set2 = new Set([1,2,3,4,5,6,2,1,2,4])
console.log(set2)
// 扩展运算符
let arr = [...set2]
console.log(arr)集合的特点
set中对象的引用无法被释放,如需要释放可使用WeakSet
javascript
let set3 = new Set()
let obj = {}
set3.add(obj)
console.log(set3);
// 释放当前的资源
set3.obj = null;
console.log(set3);
// 解决方法:WeakSet
// WeakSet,不能传人非对象的数据...不可被迭代等等
let set4 = new WeakSet()
let obj2 = {}
set4.add(obj)
console.log(set4);
// 释放当前的资源
set4.obj = null;
console.log(set4);