学习使用 ES6 的 Map 对象

阅读时长 4 分钟读完

什么是 Map 对象

Map 对象是 ES6 中新增的一种数据结构,它类似于 Object,但可以用任何类型的值作为键,不仅限于字符串和 Symbol。Map 对象可以存储不同类型的键值对,键和值均可为任何类型。

如何使用 Map 对象

创建 Map 对象

我们可以通过以下方式创建一个 Map 对象:

Map 对象还可以接收一个数组,其中每一个元素都是一个键值对,用以初始化 Map:

设置值

为 Map 对象设置键值对可以使用 set 方法:

获取值

获取 Map 对象中的值可以使用 get 方法:

判断是否存在指定键

判断 Map 对象中是否存在指定键可以使用 has 方法:

删除键值对

删除 Map 对象中的指定键值对可以使用 delete 方法:

清空 Map 对象

清空 Map 对象中的所有键值对可以使用 clear 方法:

获取 Map 对象的大小

获取 Map 对象的大小(即键值对数量)可以使用 size 属性:

Map 对象的优势

相比于使用 Object 来表示键值对的情况,使用 Map 对象有以下优势:

1. 支持任意类型的键

相较于 Object 只能使用字符串或 Symbol 作为键,Map 对象可以使用任意类型的值作为键。

2. 键值对数量容易获取

使用 Object 时,如果要获取键值对的数量,需要使用 Object.keys() 方法获取所有键的数组,然后再使用 length 属性获取数量。而 Map 对象则可以直接使用 size 属性获取键值对数量。

3. 保证插入顺序

Object 并不保证属性的插入顺序和赋值顺序一致,而 Map 对象会按照插入顺序保持键值对的顺序。

Map 对象与 Object 的对比示例

-- -------------------- ---- -------
----- --- - -
  ----- ---------
  ----- --------
--

----- ------ - --- ------------- ---------- -------- ------------

----------------------       -- --------
-------------------------------- -- --------

-------------------------------------             -- -
-------------------------                         -- -

----------------------------------------------   -- -----------------
------------------------------------------------ -- -----------------

-------- - ---------
------------------ ----------

------------------------------   -- -------- ------- -------
-------------------------------- -- -------- ------- -------
展开代码

结语

ES6 的 Map 对象为 JavaScript 增加了一种更加灵活、方便的数据结构。在实际开发中,我们可以更加自由地使用不同类型的值作为键,并且灵活获取和操作 Map 对象中的键值对。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67b728be306f20b3a63dd283

纠错
反馈

纠错反馈