ECMAScript 2015(简称 ES2015 或 ES6)引入了许多新的语言特性,其中之一是 Map 集合。Map 对象是一种简单的键/值存储结构,类似于对象,但它允许任意类型的键(而不仅仅是字符串)。通过使用 Map 类可以使开发者更方便地存储和操作数据。
创建 Map 对象
在创建 Map 对象时,我们可以使用以下方式:
--- --- - --- ------
也可以直接传入键值对的数组:
--- --- - --- ----- -------- ---------- -------- --------- ---
Map 对象的方法
set(key, value)
Map 对象通过 set() 方法存储键值对:
--- --- - --- ------ --------------- ---------- --------------- ----------
get(key)
Map 对象可以通过 get() 方法获取存储在其中的值:
--- --- - --- ------ --------------- ---------- ---------------- -- --------
has(key)
Map 对象可以通过 has() 方法检查其是否存储了指定的键:
--- --- - --- ------ --------------- ---------- ---------------- -- ---- --------------------------- -- -----
delete(key)
Map 对象可以通过 delete() 方法删除存储在其中的键值对:
--- --- - --- ------ --------------- ---------- ------------------- -- ---- ---------------- -- -----
clear()
Map 对象可以通过 clear() 方法清除其所有存储的键值对:
--- --- - --- ------ --------------- ---------- --------------- ---------- ------------ ---------------- -- ----- ---------------- -- -----
size
Map 对象可以通过 size 属性获取其存储的键值对数量:
--- --- - --- ------ --------------- ---------- --------------- ---------- --------- -- -
Map 迭代器
Map 对象可以使用 for...of 循环进行迭代,每个迭代器对象都包含一个键值对数组,其中键在索引 0 中,值在索引 1 中:
--- --- - --- ----- -------- ---------- -------- --------- --- --- ---- ----- ------ -- ---- - --------------- - - - - - ------- - -- ----- - ------- -- ----- - -------
案例分析
现在我们将通过一个实际的案例,深入了解如何使用 Map 来存储和操作数据。
需求说明
我们有一个学生数据集合,需要存储每个学生的姓名和成绩,并能够进行成绩排序和查询。
实现
我们可以通过 Map 来存储学生数据集合,其中键为学生姓名,值为学生成绩:
--- -------- - --- ------ --------------------- ---- ------------------- ---- ----------------------- ----
接下来,我们定义两个函数来实现成绩排序和查询。sortScores() 函数使用 Array.from() 方法将 Map 对象转换为数组,然后使用数组的 sort() 方法来排序:
-------- -------------------- - --- ------ - ------------------------------ --------------- -- -- - - --- ------ ------- -
queryScore() 函数使用 Map 对象的 get() 方法查询给定姓名学生的成绩:
-------- -------------------- ----- - ------ ------------------- -
现在我们可以使用这两个函数来实现我们的需求:
--------------------- -- ---- --- --- -------------------- -- --
总结
Map 集合可以在前端开发中大大简化数据存储与操作。它可以比传统的 Object 对象更灵活地设置键与值对,提供了丰富的方法来检索、更改和删除已存储的数据。在日常项目开发中,我们可以将 Map 集合的灵活性和丰富性应用于数据的存储和操作中,以提高代码质量和开发效率。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/64af828e48841e9894b917bb