Set
成员值唯一,没有重复的值,可以用来做数组和字符串去重。向 Set
加值不会发生类型转换,且对于重复添加 NaN
,只会添加一个 NaN
。Array.from
可以把 Set
转换为数组。
size
,返回实例的成员总数add
,添加值delete(value)
,删除某个值,返回一个布尔值,表示删除成功has(value)
,返回一个布尔值,表示该值是否为Set
的成员clear
,清除所有成员,没有返回值keys
,返回键名的遍历器values
,返回键值得遍历器entries()
,返回所有成员的遍历器forEach()
,遍历Set
的所有成员
Array.from()
有第二个参数,这个参数类似于map
WeakSet
成员只能是对象,不能是其他类型值- 对象都是弱引用,即垃圾回收机制不考虑
WeakSet
对该对象的引用,也就是说,如果其他对象不再引用该对象,那么垃圾回收机制会回收该对象所占内存,不考虑对象还存在与WeakSet
中。 WeakSet
可以接受一个数组或类似数组的对象作为参数。- 没有
size
属性,且无法遍历,是因为WeakSet
成员是弱引用,可能遍历刚结束,成员就取不到
size
,返回实例的成员总数delete(value)
,删除某个值,返回一个布尔值,表示删除成功has(value)
,返回一个布尔值,表示该值是否为Map
的成员clear
,清除所有成员,没有返回值keys
,返回键名的遍历器values
,返回键值得遍历器entries()
,返回所有成员的遍历器forEach()
,遍历Map
的所有成员
基本上和 WeakSet
差不多