JavaScript 是一门动态类型语言,变量可以存储任何类型的值。然而,在某些情况下,我们需要存储一组唯一的值或者键值对。在 ES6 中,引入了两种新的数据结构:Set 和 Map。本文将详细介绍这两种数据结构的使用方法和应用场景。
Set 数据结构
Set 数据结构类似于数组,但是成员的值都是唯一的,没有重复的值。它是一种可迭代的数据结构,可以通过 for...of 循环遍历它的成员。Set 可以用来去除数组中的重复元素。
创建 Set
可以通过以下两种方法创建 Set:
----- ---- - --- ------ -- ------ --- ----- ---- - --- ------- -- ---- -- ----- ---
添加元素
可以使用 add 方法向 Set 中添加元素:
------------ ------------ ------------
删除元素
可以使用 delete 方法删除 Set 中的元素:
---------------
判断是否包含某个元素
可以使用 has 方法判断 Set 是否包含某个元素:
------------ -- ---- ------------ -- -----
获取元素个数
可以使用 size 属性获取 Set 中元素的个数:
---------- -- -
遍历 Set
可以使用 for...of 循环遍历 Set 中的元素:
--- ---- ---- -- ----- - ------------------ -
将 Set 转换为数组
可以使用 Array.from 方法将 Set 转换为数组:
----- --- - -----------------
Set 的应用
Set 可以用来去除数组中的重复元素:
----- --- - --- -- -- -- -- --- ----- --- - --- --------- ----- --------- - ---------------- -- --- -- --
Map 数据结构
Map 数据结构类似于对象,也是键值对的集合。不同之处在于,Map 的键可以是任意类型,而对象的键只能是字符串。Map 也是一种可迭代的数据结构,可以通过 for...of 循环遍历它的成员。
创建 Map
可以通过以下两种方法创建 Map:
----- ---- - --- ------ -- ------ --- ----- ---- - --- ------------- ------ ------- ------ -- ----- ---
添加键值对
可以使用 set 方法向 Map 中添加键值对:
---------------- ------ --------------- ----
删除键值对
可以使用 delete 方法删除 Map 中的键值对:
-------------------
判断是否包含某个键
可以使用 has 方法判断 Map 是否包含某个键:
----------------- -- ---- ---------------- -- -----
获取键值对个数
可以使用 size 属性获取 Map 中键值对的个数:
---------- -- -
遍历 Map
可以使用 for...of 循环遍历 Map 中的键值对:
--- ---- ----- ------ -- ----- - ---------------- ------- -
将 Map 转换为数组
可以使用 Array.from 方法将 Map 转换为数组:
----- --- - -----------------
Map 的应用
Map 可以用来存储一些复杂的数据结构,例如对象作为值:
----- ----- - - ----- ----- ---- -- -- ----- ----- - - ----- ----- ---- -- -- ----- --- - --- ------ ---------------- ------- ---------------- -------
总结
Set 和 Map 是 ES6 中新增的数据结构,它们分别用来存储一组唯一的值和键值对。Set 可以用来去除数组中的重复元素,Map 可以用来存储一些复杂的数据结构。在实际开发中,我们可以根据具体的需求选择使用 Set 或 Map。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6558684dd2f5e1655d296cff