#javascript ES6速查表-设置&弱化设置


Set是唯一值的集合。 这些值可以是基元或对象引用。

 让set = new Set(); 
set.add(1);
set.add('1');
set.add({key:'value'});
console.log(set); //设置{1,'1',对象{key:'value'}}

最重要的是,它不允许重复值,如果从数组中删除重复值,则是一个很好的用途:

  [... new Set([1、2、3、1、2、3])] // [1、2、3] 

使用内置方法forEach和for..of进行迭代:

  // forEach 
let set = new Set([1,'1',{key:'value'}]));
set.forEach(函数(值){
console.log(value);
// 1
//'1'
//对象{key:'value'}
}); // for..of
let set = new Set([1,'1',{key:'value'}]));
对于(让集合的值){
console.log(value);
// 1
//'1'
//对象{key:'value'}
};

Map类似, Set为我们提供了has()delete()clear()

在此处查找有关Set更多详细信息

就像WeakMap一样, WeakSet是一个Set ,它不会阻止其值被垃圾回收。 它具有比WeakMap更简单的API,因为只有三种方法:

 新的WeakSet([iterable]) 
WeakSet.prototype.add(value):任何
WeakSet.prototype.has(value):布尔值
WeakSet.prototype.delete(value):布尔值

需要注意的重要事项WeakSet是一个不能迭代的集合,其大小无法确定。

在此处查找有关WeakSet更多详细信息


您可以在我的Github页面上找到更完整的ES6备忘单。

附注:如果您❤️这,请确保在Twitter上关注我,并与朋友分享share