介绍下 Set、Map 的区别

Set 和 Map 是 ES6 中新增的数据结构,它们都用于存储一组唯一的值,但在使用和特性上有一些区别。

Set

  1. 元素的唯一性: Set 中的元素是唯一的,不允许重复。
  2. 存储任意类型的值: Set 可以存储任意类型的值,包括原始类型和对象引用。
  3. 迭代顺序: Set 内部元素的顺序是插入顺序,即插入时的顺序决定了元素在 Set 中的顺序。
  4. 没有键值对: Set 中的元素只有值,没有键,因此不能像 Map 一样通过键来获取值。
  5. 常见方法: Set 提供了一系列常用的方法,如 add()delete()has()clear()size 等。
const mySet = new Set();

mySet.add(1);
mySet.add(2);
mySet.add(3);
mySet.add(1); // 重复元素不会被添加

console.log(mySet); // 输出: Set(3) { 1, 2, 3 }

Map

  1. 键值对的存储: Map 中的元素是以键值对的形式存储的,每个键对应一个值。
  2. 键可以是任意类型: Map 的键可以是任意类型的值,包括原始类型和对象引用。
  3. 迭代顺序: Map 内部元素的顺序是插入顺序,即插入时的顺序决定了元素在 Map 中的顺序。
  4. 可以通过键获取值: Map 提供了通过键获取对应值的方法 get(),并且可以通过键来判断值是否存在。
  5. 常见方法: Map 提供了一系列常用的方法,如 set()get()delete()has()clear()size 等。
const myMap = new Map();

myMap.set('key1', 'value1');
myMap.set('key2', 'value2');
myMap.set('key3', 'value3');

console.log(myMap.get('key2')); // 输出: value2

综上所述,Set 主要用于存储一组唯一的值,而 Map 则用于存储键值对形式的数据。选择使用哪种数据结构取决于具体的需求,如果只需要存储值而不需要键,则可以使用 Set;如果需要通过键来获取值,则可以使用 Map。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值