在JavaScript中,Map
是一种特殊的键值对集合,它允许使用任意类型的值作为键。这与普通的对象不同,普通对象的键必须是字符串或符号。
Map
对象保存键值对,并且能够记住键的原始插入顺序。任何值(对象和原始值)都可以作为一个键或一个值。
你可以使用set
方法向Map
中添加新的键值对。如果键已经存在,那么set
方法会更新对应的值。
示例代码:
let myMap = new Map();
// 添加元素
myMap.set('key1', 'value1');
myMap.set('key2', 'value2');
// 更新已存在的键的值
myMap.set('key1', 'newValue1');
console.log(myMap); // Map(2) { 'key1' => 'newValue1', 'key2' => 'value2' }
Map
对象会按照插入顺序迭代其元素。Map
的性能通常优于普通对象。Map
中是否存在某个键?你可以使用has
方法来检查Map
中是否存在某个键。
示例代码:
if (myMap.has('key1')) {
console.log('key1 exists in the map');
}
Map
中的某个键值对?你可以使用delete
方法来删除Map
中的某个键值对。
示例代码:
myMap.delete('key1');
console.log(myMap); // Map(1) { 'key2' => 'value2' }
Map
中所有键或所有值?你可以使用keys
、values
或entries
方法来分别获取Map
中所有键、所有值或所有键值对。
示例代码:
for (let key of myMap.keys()) {
console.log(key);
}
for (let value of myMap.values()) {
console.log(value);
}
for (let [key, value] of myMap.entries()) {
console.log(key, value);
}