五、es6 Set
一、特点
1.是一个构造函数
2.类数组,元素唯一、没有重复
二、new Set();
二、构造函数接受数组将数组转换成Set数据结构,[...new Set(1,3)],转化成对象;
console.log([...new Set([1,2,3])]);
let s = new Set([1,2,3,2]); console.log(s.size); // 3 s.add(5); console.log(s); // Set { 1, 2, 3, 5 } s.delete(3); console.log(s); // Set { 1, 2, 5 } console.log(s.has(2)); // true console.log(s.clear()) // undefined console.log(s); // Set {} s.add(1).add(2).add(2); console.log(s); // Set { 1, 2 }
console.dir(Set)
Set.prototype[Symbol.iterator] === Set.prototype.values
***weakSet
WeakSet 中的对象都是弱引用,即垃圾回收机制不考虑 WeakSet 对该对象的引用,也就是说,如果其他对象都不再引用该对象,
那么垃圾回收机制会自动回收该对象所占用的内存,不考虑该对象还存在于 WeakSet 之中。