ES6 新增Set 和 Map 两种数据结构

ES6 新增了 Set 和 Map 这两种数据结构,它们为 JavaScript 提供了更强大和灵活的数据处理能力。下面详细介绍一下 Set 和 Map 的特性和用法:

Set

Set 是一种类似于数组的数据结构,但是成员的值都是唯一的,没有重复的值。

特性:
  1. Set 中的元素是唯一的,不会出现重复的值。
  2. Set 可以接收一个可迭代对象作为参数,用于初始化 Set。
  3. Set 中的元素是有序的,插入顺序决定了元素的顺序。
常用方法:
  • add(value): 向 Set 中添加一个新的元素。
  • delete(value): 删除 Set 中的指定元素。
  • has(value): 判断 Set 中是否包含指定元素。
  • clear(): 清空 Set 中的所有元素。
  • size: 返回 Set 中元素的个数。
示例:
let set = new Set([1, 2, 3, 4, 5]);

set.add(6);
set.delete(3);
console.log(set.has(2)); // 输出: true
console.log(set.size); // 输出: 5

set.forEach(item => console.log(item)); // 输出: 1 2 4 5 6

Map

Map 是一种键值对的集合,其中每个键都是唯一的,而值可以重复。

特性:
  1. Map 中的键是唯一的,值可以重复。
  2. Map 可以接收一个可迭代对象作为参数,用于初始化 Map。
  3. Map 中的元素是有序的,插入顺序决定了元素的顺序。
常用方法:
  • set(key, value): 向 Map 中设置指定键的值。
  • get(key): 获取 Map 中指定键对应的值。
  • delete(key): 删除 Map 中指定键的值。
  • has(key): 判断 Map 中是否包含指定键。
  • clear(): 清空 Map 中的所有键值对。
  • size: 返回 Map 中键值对的个数。
示例:
let map = new Map([
    ['name', 'Alice'],
    ['age', 30],
    ['city', 'New York']
]);

map.set('gender', 'female');
map.delete('age');
console.log(map.has('city')); // 输出: true
console.log(map.size); // 输出: 3

map.forEach((value, key) => console.log(`${key}: ${value}`));
// 输出:
// name: Alice
// city: New York
// gender: female

总结

Set 和 Map 提供了一种更加灵活和高效的数据结构,能够满足不同场景下的数据处理需求。它们可以存储不重复的值,并且提供了丰富的方法来操作集合中的元素。在实际开发中,可以根据具体的需求选择使用 Set 或 Map 来处理数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值