什么是 `Set` 和 `Map` 以及如何使用它们?
主题
JavaScript
TL;DR
Set 和 Map 是内置的 JavaScript 对象,可帮助管理数据集合。Set 是唯一值的集合,而 Map 是键值对的集合,其中键可以是任何类型。Set 适用于存储唯一项,而 Map 适用于将值与键关联。
// Set examplelet mySet = new Set([1, 2, 3, 3]); // Set {1, 2, 3} (duplicate values are not added)mySet.add(4);console.log(mySet); // Set {1, 2, 3, 4}// Map examplelet myMap = new Map();myMap.set('key1', 'value1');myMap.set('key2', 'value2');console.log(myMap.get('key1')); // 'value1'
Set
什么是 Set?
Set 是值的集合,其中每个值都必须是唯一的。它类似于数组,但不允许重复值。
如何创建 Set
您可以使用 Set 构造函数创建 Set:
let mySet = new Set([1, 2, 3, 3]);console.log(mySet); // Set {1, 2, 3}
常用方法
add(value): 将具有给定值的元素添加到Set。delete(value): 删除与该值关联的元素。has(value): 返回一个布尔值,指示该值是否存在于Set中。clear(): 从Set中删除所有元素。size: 返回Set中的元素数量。
使用示例
let mySet = new Set();mySet.add(1);mySet.add(2);mySet.add(2); // Duplicate value, will not be addedconsole.log(mySet.has(1)); // trueconsole.log(mySet.size); // 2mySet.delete(1);console.log(mySet.has(1)); // falsemySet.clear();console.log(mySet.size); // 0
Map
什么是 Map?
Map 是键值对的集合,其中键可以是任何类型,包括对象、函数和基本类型。
如何创建 Map
您可以使用 Map 构造函数创建 Map:
let myMap = new Map();myMap.set('key1', 'value1');myMap.set('key2', 'value2');console.log(myMap); // Map { key1: "value1", key2: "value2" }
常用方法
set(key, value): 添加或更新具有指定键和值的一个元素。get(key): 返回与该键关联的值。delete(key): 移除与该键关联的元素。has(key): 返回一个布尔值,指示该键是否存在于Map中。clear(): 从Map中移除所有元素。size: 返回Map中元素的数量。
使用示例
let myMap = new Map();myMap.set('key1', 'value1');myMap.set('key2', 'value2');console.log(myMap.get('key1')); // 'value1'console.log(myMap.has('key2')); // trueconsole.log(myMap.size); // 2myMap.delete('key1');console.log(myMap.has('key1')); // falsemyMap.clear();console.log(myMap.size); // 0