在JavaScript中,Map 对象保存键值对,并且能够记住键的原始插入顺序。任何值(对象或者原始值)都可以作为一个键或一个值。Map 对象比对象字面量要灵活,因为对象字面量只能使用字符串或符号作为键。
以下是如何定义一个Map以及如何获取其key的详细指南:
定义一个Map
使用构造函数
let map = new Map();
或者,你可以立即初始化一个Map对象,并添加一些键值对:
let map = new Map([
[1, 'one'],
[2, 'two'],
[3, 'three']
]);
使用对象字面量
虽然不推荐使用对象字面量来创建Map,因为它们不支持非字符串或符号的键,但以下是一个例子:
let map = {
1: 'one',
2: 'two',
3: 'three'
};
// 注意:这个方法不会创建一个Map,它只是创建了一个普通对象。
获取Map的key
使用keys()方法
keys()方法返回一个包含Map对象中键的迭代器。
for (let key of map.keys()) {
console.log(key);
}
使用entries()方法
entries()方法返回一个包含Map对象中键值对的迭代器。
for (let [key, value] of map.entries()) {
console.log(key, value);
}
使用forEach()方法
forEach()方法对Map对象中的每个键值对执行一次提供的函数。
map.forEach((value, key) => {
console.log(key, value);
});
使用get()方法
get()方法返回指定键的值。
let value = map.get(2);
console.log(value); // 输出: two
使用has()方法
has()方法返回一个布尔值,表示Map对象是否有指定的键。
let hasKey = map.has(3);
console.log(hasKey); // 输出: true
使用delete()方法
delete()方法删除指定键的键值对。
map.delete(2);
console.log(map.has(2)); // 输出: false
使用clear()方法
clear()方法删除Map对象中的所有键值对。
map.clear();
console.log(map.size); // 输出: 0
通过以上方法,你可以轻松地定义一个Map,并获取其key。Map对象是JavaScript中处理键值对数据的一种非常灵活和强大的数据结构。