在JavaScript中,Map
和 Set
是两种不同的数据结构,用于处理集合和映射。
Map
是一种键值对的集合,其中键和值可以是任意类型。与对象相比,Map
有一些优势,例如可以使用任意类型的键,Map
中的键值对是有序的,Map
具有内建的方法用于获取键值对的数量等。
// 创建一个空的 Map
let myMap = new Map();
// 创建带有初始值的 Map
let personMap = new Map([
['name', 'John'],
['age', 30],
['gender', 'male']
]);
// 添加键值对
myMap.set('key', 'value');
// 获取值
let value = myMap.get('key');
// 检查键是否存在
let keyExists = myMap.has('key');
// 删除键值对
myMap.delete('key');
// 获取 Map 中的所有键
let keys = Array.from(myMap.keys());
// 获取 Map 中的所有值
let values = Array.from(myMap.values());
// 获取 Map 中的所有键值对
let entries = Array.from(myMap.entries());
// 获取 Map 的大小
let size = myMap.size;
// 清空 Map
myMap.clear();
Set
是一种无重复值的集合。与数组不同,Set
中的值是唯一的,不允许重复。Set
是一种有序的集合,但是它没有键值对的概念,只包含单一的值。
// 创建一个空的 Set
let mySet = new Set();
// 创建带有初始值的 Set
let numbersSet = new Set([1, 2, 3, 4, 5]);
// 添加元素
mySet.add('value');
// 检查元素是否存在
let valueExists = mySet.has('value');
// 删除元素
mySet.delete('value');
// 获取 Set 的大小
let size = mySet.size;
// 获取 Set 中的所有元素
let values = Array.from(mySet);
// 清空 Set
mySet.clear();
Map
和 Set
在处理数据时提供了灵活性和性能的优势,具体选择取决于您的需求。
原文链接:codingdict.net