单县菏泽网站建设,如何把自己的产品放到网上卖,公司网站非响应式模板,网站建设方案说ES6 中的 Map 是一种集合数据结构#xff0c;与 Set 类似#xff0c;但它是用来存储键值对的。Map 提供了更灵活的迭代和更广泛的键类型支持#xff0c;与普通的对象相比#xff0c;Map 的键可以是任何值#xff0c;包括对象和函数。
以下是 Map 类型的一些关键特性和常用…ES6 中的 Map 是一种集合数据结构与 Set 类似但它是用来存储键值对的。Map 提供了更灵活的迭代和更广泛的键类型支持与普通的对象相比Map 的键可以是任何值包括对象和函数。
以下是 Map 类型的一些关键特性和常用方法
特性
键的多样性Map 的键可以是任何类型不仅限于字符串或数字。顺序性Map 保留了键值对的插入顺序。唯一性每个键在 Map 中都是唯一的。
创建 Map
使用 new Map() 构造函数创建一个空的 Map。可以在创建时传入一个可迭代对象其结构通常为 [键, 值] 的数组来初始化 Map。
let myMap new Map();
let myMapFromIterable new Map([[key1, value1], [key2, value2]]);常用方法 set(key, value)将一个键值对添加到 Map 对象中。 myMap.set(key, value);get(key)返回与给定键关联的值。 let value myMap.get(key);has(key)检查 Map 对象是否包含特定的键。 let hasKey myMap.has(key);delete(key)从 Map 对象中移除指定的键值对。 myMap.delete(key);clear()移除 Map 对象中的所有键值对。 myMap.clear();size返回 Map 对象中键值对的数量。 let size myMap.size;keys()返回一个新的迭代器对象该迭代器包含 Map 对象中的键。 values()返回一个新的迭代器对象该迭代器包含 Map 对象中的值。 entries()返回一个新的迭代器对象该迭代器包含 Map 对象中的键值对数组。 forEach(callbackFn, thisArg)对 Map 对象中的每个键值对执行给定函数。
myMap.forEach((value, key) {console.log(${key}: ${value});
});转换为数组
可以使用 Array.from() 方法将 Map 的键、值或键值对数组转换为数组。
let keysArray Array.from(myMap.keys());
let valuesArray Array.from(myMap.values());
let entriesArray Array.from(myMap.entries());示例
// 创建一个 Map 实例
let myMap new Map();// 添加键值对
myMap.set(key1, value1);
myMap.set(key2, value2);// 获取与键关联的值
console.log(myMap.get(key1)); // 输出: value1// 检查键是否存在
console.log(myMap.has(key1)); // 输出: true// 删除键值对
myMap.delete(key1);// 获取 Map 的大小
console.log(myMap.size); // 输出: 1// 清空 Map
myMap.clear();// 遍历 Map
myMap.set(key3, value3);
myMap.forEach((value, key) {console.log(${key}: ${value}); // 输出: key3: value3
});// 转换为数组
let keys Array.from(myMap.keys());
let values Array.from(myMap.values());
let entries Array.from(myMap.entries());Map 是一种非常有用的数据结构特别适合于需要快速查找、添加和删除键值对的场景。它提供了一种更灵活的方式来存储和管理键值对集合。