什么是 Set 和 WeakSet
Set 和 WeakSet 是 ES6 中新增的两个集合类型,用于存储一组唯一的值。
Set 和 WeakSet 的区别在于,Set 存储的是对象的引用,而 WeakSet 存储的是对象的弱引用。
Set 的使用实例
创建 Set
可以使用 Set 构造函数来创建一个空的 Set:
----- --- - --- ------
也可以使用一个数组来初始化一个 Set:
----- --- - --- ------- -- ----
添加元素
使用 add 方法来添加元素:
-----------
删除元素
使用 delete 方法来删除元素:
--------------
判断元素是否存在
使用 has 方法来判断元素是否存在:
----------- -- -----
获取元素个数
使用 size 属性来获取元素个数:
---------
遍历元素
可以使用 for...of 循环来遍历 Set 中的元素:
--- ------ ---- -- ---- - ------------------ -
将 Set 转换为数组
可以使用 Array.from 方法将 Set 转换为数组:
----- --- - ----------------
Set 的应用场景
Set 可以用来去重:
----- --- - --- -- -- -- --- ----- --- - --- --------- ----- --------- - ----------------
WeakSet 的使用实例
创建 WeakSet
可以使用 WeakSet 构造函数来创建一个空的 WeakSet:
----- ------- - --- ----------
添加元素
使用 add 方法来添加元素:
----- --- - --- -----------------
删除元素
使用 delete 方法来删除元素:
--------------------
判断元素是否存在
由于 WeakSet 中存储的是对象的弱引用,因此无法判断元素是否存在。
WeakSet 的应用场景
WeakSet 可以用来存储对象的私有属性:
----- --- - --- ----- ------ - ----------------- - --------- - ----- --------------------- ----- - - ----- ----------- - --- ----------
总结
Set 和 WeakSet 是 ES6 中新增的两个集合类型,用于存储一组唯一的值。Set 存储的是对象的引用,而 WeakSet 存储的是对象的弱引用。Set 可以用来去重,WeakSet 可以用来存储对象的私有属性。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/657ac2edd2f5e1655d539aff