在JavaScript中,Map
是一种特殊的键值对集合,它允许使用任意类型的值作为键。与普通的对象不同,Map
中的键可以是对象、函数、基本类型等任何值。
创建一个Map
实例有多种方式:
new Map()
构造函数创建一个空的Map:const myMap = new Map();
new Map()
构造函数和一个可迭代的键值对数组来创建Map:const myMap = new Map([
['key1', 'value1'],
['key2', 'value2'],
// ...
]);
这里的键值对数组是由包含两个元素的数组组成的,第一个元素是键,第二个元素是值。
Map
允许使用任何类型的值作为键。Map
中的元素按照插入的顺序来迭代。Map
提供了许多内置方法,如set
、get
、has
、delete
等,便于操作键值对。下面是一个使用Map
的示例代码:
// 创建一个Map实例
const myMap = new Map();
// 添加键值对
myMap.set('name', 'Alice');
myMap.set('age', 30);
myMap.set({a: 1}, 'objectKey'); // 使用对象作为键
// 获取值
console.log(myMap.get('name')); // 输出: Alice
console.log(myMap.get({a: 1})); // 输出: undefined,因为对象是引用类型,这里获取的是另一个对象
// 检查键是否存在
console.log(myMap.has('age')); // 输出: true
// 删除键值对
myMap.delete('age');
// 遍历Map
myMap.forEach((value, key) => {
console.log(`${key}: ${value}`);
});
注意:在使用对象作为键时,需要确保使用的是同一个对象引用,因为对象是引用类型,不同的对象即使属性相同也被视为不同的键。
领取专属 10元无门槛券
手把手带您无忧上云