测验

什么是 `Set` 和 `Map` 以及如何使用它们?

主题
JavaScript
在GitHub上编辑

TL;DR

SetMap 是内置的 JavaScript 对象,可帮助管理数据集合。Set 是唯一值的集合,而 Map 是键值对的集合,其中键可以是任何类型。Set 适用于存储唯一项,而 Map 适用于将值与键关联。

// Set example
let 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 example
let 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 added
console.log(mySet.has(1)); // true
console.log(mySet.size); // 2
mySet.delete(1);
console.log(mySet.has(1)); // false
mySet.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')); // true
console.log(myMap.size); // 2
myMap.delete('key1');
console.log(myMap.has('key1')); // false
myMap.clear();
console.log(myMap.size); // 0

延伸阅读

在GitHub上编辑