ES6中的Map与Set

在ES6中,Map和Set是两种新的数据结构,用于存储和操作数据。它们提供了更灵活和高效的方式来处理集合和键值对。

Map:

  Map 是一种键值对的集合,类似于传统的对象(Object),但具有更多的功能。以下是 Map 的一些特点:

  • 键可以是任意数据类型,包括基本类型和对象引用。
  • 保持插入顺序,即插入的键值对将按照插入的顺序进行迭代。
  • 可以使用 size 属性获取 Map 的大小。
  • 提供了丰富的方法来操作和查询数据,如 set()、get()、has()、delete() 等。
      以下是使用 Map 的示例代码:
javascript 复制代码
const map = new Map();

map.set("key1", "value1");
map.set("key2", "value2");

console.log(map.get("key1")); // 输出 "value1"
console.log(map.size); // 输出 2
console.log(map.has("key2")); // 输出 true

map.delete("key2");
console.log(map.size); // 输出 1

Set:

  Set 是一种唯一值的集合,它不允许重复的元素。以下是 Set 的一些特点:

  • 只能存储唯一的值,重复的值将被忽略。
  • 保持插入顺序,即插入的元素将按照插入的顺序进行迭代。
  • 可以使用 size 属性获取 Set 的大小。
  • 提供了丰富的方法来操作和查询数据,如 add()、has()、delete() 等。
      以下是使用 Set 的示例代码:
javascript 复制代码
const set = new Set();

set.add("value1");
set.add("value2");
set.add("value2"); // 重复的值将被忽略

console.log(set.size); // 输出 2
console.log(set.has("value1")); // 输出 true

set.delete("value2");
console.log(set.size); // 输出 1

Map和Set在处理数据时的区别

数据结构:

  • Map 是键值对的集合,每个键都唯一且与一个值相关联。Set 是唯一值的集合,不允许重复的元素。

键的类型:

  • Map 的键可以是任意数据类型,包括基本类型和对象引用。Set 存储的是唯一值,可以是任意数据类型。

迭代顺序:

  • Map 保持插入顺序,即插入的键值对将按照插入的顺序进行迭代。Set 也保持插入顺序,即插入的元素将按照插入的顺序进行迭代。

重复值:

  • Map 允许相同的值关联不同的键,每个键都是唯一的。Set 不允许重复的值存在,如果尝试插入重复的值,将被忽略。

大小和查询操作:

  • Map 提供了 size 属性来获取集合的大小,可以使用 get() 方法根据键获取对应的值。Set 也提供了 size 属性来获取集合的大小,可以使用 has() 方法来检查集合中是否存在某个值。

删除操作:

  • Map 提供了 delete() 方法来根据键删除键值对。Set 提供了 delete() 方法来删除集合中的某个值。
相关推荐
子兮曰4 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰4 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
前端小万4 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝4 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
三十而立洋4 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
卡布鲁4 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
李少兄4 天前
JavaScript 隐式全局变量解析
javascript
汉堡大王95274 天前
Jev:不是聊天机器人, 而是一个智能 if 语句
前端·人工智能·后端
梦想很大很大4 天前
从运行事实到回归证据:Workrun 的 Telemetry 与 Evaluation 实践
前端·人工智能·后端
计算机魔术师4 天前
Meta Muse agent 接入 Shopify 的 Shop Pay 实现代理式购物
前端