推荐答案
// www.javascriptcn.com code example
// Set 示例
const mySet = new Set();
mySet.add(1);
mySet.add(2);
mySet.add(2); // 重复元素不会被添加
console.log(mySet.size); // 输出: 2
console.log(mySet.has(1)); // 输出: true
mySet.delete(1);
console.log(mySet.has(1)); // 输出: false
// Map 示例
const myMap = new Map();
myMap.set('name', 'Alice');
myMap.set('age', 25);
console.log(myMap.get('name')); // 输出: Alice
console.log(myMap.has('age')); // 输出: true
myMap.delete('age');
console.log(myMap.has('age')); // 输出: false本题详细解读
Set 数据结构
- Set 是一种集合数据结构,它允许你存储任何类型的唯一值,无论是原始值还是对象引用。
- 主要方法:
add(value):向 Set 中添加一个值,如果值已存在则不会重复添加。
delete(value):从 Set 中删除一个值。
has(value):检查 Set 中是否包含某个值。
clear():清空 Set 中的所有值。
size:返回 Set 中元素的数量。
- 特点:
- Set 中的值是唯一的,不会重复。
- Set 中的元素是无序的。
Map 数据结构
- Map 是一种键值对集合,类似于对象,但键可以是任意类型(包括对象)。
- 主要方法:
set(key, value):向 Map 中添加一个键值对。
get(key):获取指定键对应的值。
has(key):检查 Map 中是否包含某个键。
delete(key):从 Map 中删除一个键值对。
clear():清空 Map 中的所有键值对。
size:返回 Map 中键值对的数量。
- 特点:
- Map 中的键可以是任意类型,而对象的键只能是字符串或 Symbol。
- Map 中的键值对是有序的,按照插入顺序排列。
使用场景
- Set 适用于需要存储唯一值的场景,例如去重、集合运算等。
- Map 适用于需要存储键值对且键可以是任意类型的场景,例如缓存、字典等。