五、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 之中。















原文地址:https://www.cnblogs.com/shangyueyue/p/10034302.html