Map 遍历
在 JavaScript 中,Map对象当然可以被遍历。Map 对象持有键值对,任何值(对象或者原始值) 都可以作为一个键或一个值。你可以使用 Map 对象的几种方法遍历其中的键值对。
以下是几种遍历 Map 对象的方法:
- 使用
forEach()方法:
Map 对象有一个 forEach 方法,你可以像遍历数组一样使用它来遍历 Map。forEach 方法会按照插入顺序遍历 Map 对象。
let myMap = new Map();
myMap.set("a", "alpha");
myMap.set("b", "beta");
myMap.set("g", "gamma");
myMap.forEach((value, key) => {
console.log(key + " = " + value);
});- 使用
for...of循环:
你可以使用 for...of 循环来遍历 Map 对象的键值对(entries),键(keys)或值(values)。
- 遍历
Map的键值对:
for (let [key, value] of myMap) {
console.log(key + " = " + value);
}- 遍历
Map的键:
for (let key of myMap.keys()) {
console.log(key);
}- 遍历
Map的值:
for (let value of myMap.values()) {
console.log(value);
}- 使用扩展运算符:
你还可以使用扩展运算符来将 Map 对象的键值对、键或值转换为数组。
- 键值对数组:
let keyValueArray = [...myMap];
console.log(keyValueArray);- 键数组:
let keysArray = [...myMap.keys()];
console.log(keysArray);- 值数组:
let valuesArray = [...myMap.values()];
console.log(valuesArray);每种方法的使用取决于你的具体需求。通常,for...of 和 forEach() 会用得更多,因为它们可以直接操作键和值。