Set数据结构以及WeakSet
一、Set数据结构
特点:相比Array,里面的元素具有唯一性。
创建:new Set(value) : value必须具有 iteable 接口的数据结构
属性:
1.construct
2.size
方法:
1.操作方法
(1)add(value)
(2)delete(value)
(3)has(value)
(4)clear()
2.遍历方法
(1)keys() 、values()、entries(): 都是返回遍历器,还是要搭配for....of 去获取具体每个的值;Set本身又有Iterable接口,直接就能调用for.....of ,看着好像也没啥用武之地
const set = new Set([1,2]); set.add(46546); set.add("ewfewf"); for(var i of set.keys()){ console.log(i); } console.log("..................."); for(var i of set){ console.log(i); }
(2)forEach()
注:Set的value 和 key 都是相同的值
const set = new Set([1,2]); set.add(46546); set.add("ewfewf"); set.forEach((item,index) => { console.log(item); console.log(index); })
二、WeakSet
特点:与Set相比,所有的成员都要是对象才可以;WeakSet成员的引用是弱引用,不记入引用次数,所以不影响垃圾回收机制。