返回

ES6 的 Map 集合的基本用法

前端




ES6 的 Map 集合是一种存储键值对的有序列表,其中的键名和对应的值支持所有的数据类型。Map 集合与数组和对象的不同之处在于,它允许键名是任意值,而不仅仅是字符串,同时键名与键值之间是“一一对应”的关系。Map 集合在 JavaScript 中非常有用,因为它可以很容易地存储和查找数据。

Map 集合的属性和方法

Map 集合拥有以下属性和方法:

  • size:返回集合中键值对的数量。
  • clear():移除集合中的所有键值对。
  • delete(key):删除具有指定键名的键值对。
  • get(key):返回具有指定键名的键值。
  • has(key):检查是否存在具有指定键名的键值对。
  • set(key, value):向集合中添加或更新具有指定键名的键值对。

如何使用 Map 集合存储和操作数据

使用 Map 集合存储和操作数据非常简单。首先,你需要创建一个 Map 集合,然后使用 set() 方法向集合中添加键值对。你也可以使用 get() 方法获取具有指定键名的键值,或使用 delete() 方法删除具有指定键名的键值对。

// 创建一个 Map 集合
const map = new Map();

// 向集合中添加键值对
map.set('name', 'John');
map.set('age', 30);
map.set('city', 'New York');

// 获取具有指定键名的键值
const name = map.get('name'); // "John"

// 删除具有指定键名的键值对
map.delete('age');

// 检查是否存在具有指定键名的键值对
map.has('city'); // true

// 遍历集合中的所有键值对
for (const [key, value] of map) {
  console.log(key, value);
}

// 输出:
// name John
// city New York

Weak Set 和 Weak Map

Weak Set 和 Weak Map 是 ES6 中的两个新集合类型,它们与 Map 集合非常相似,但它们使用弱引用来存储数据。这意味着 Weak Set 和 Weak Map 中的键名可以被垃圾回收,而不会导致内存泄漏。

Weak Set 是一种存储对象的弱引用集合,这意味着 Weak Set 中的元素不会阻止垃圾回收器回收这些对象。Weak Set 通常用于存储需要跟踪但不需要保留引用的对象。

Weak Map 是一种存储键值对的弱引用集合,这意味着 Weak Map 中的键名和键值都可以被垃圾回收,而不会导致内存泄漏。Weak Map 通常用于存储需要跟踪但不需要保留引用的数据。

结语

Map 集合是 JavaScript 中一种非常有用的数据结构,它可以很容易地存储和查找数据。Weak Set 和 Weak Map 是 ES6 中的两个新集合类型,它们使用弱引用来存储数据,可以避免内存泄漏。