js如何遍历map类型
原创引言
在 JavaScript 中,Map 类型是一种键值对集合的数据结构,它不仅允许我们使用任意类型的键,也保持了键的插入顺序。当我们需要遍历 Map 对象中的每一个键值对时,可以使用多种方法。以下将介绍几种常见的遍历 Map 的做法。
使用 for...of 循环遍历
for...of 循环可以与 Map 的 entries 方法结合使用,直接遍历 Map 中的每个键值对。
const map = new Map([
['a', 1],
['b', 2],
['c', 3]
]);
for (const [key, value] of map.entries()) {
console.log(key, value);
}
使用 for...of 循环直接遍历
出于 Map 对象是可迭代的,从而可以直接使用 for...of 循环遍历 Map,得到的也是每个键值对数组。
const map = new Map([
['a', 1],
['b', 2],
['c', 3]
]);
for (const [key, value] of map) {
console.log(key, value);
}
使用 forEach 方法遍历
Map 对象提供了一个 forEach 方法,它接受一个回调函数,该函数会被调用每个键值对。
const map = new Map([
['a', 1],
['b', 2],
['c', 3]
]);
map.forEach((value, key) => {
console.log(key, value);
});
使用 keys() 和 values() 方法遍历
如果你只想获取 Map 的键或值,可以使用 keys() 或 values() 方法。
遍历键:
const map = new Map([
['a', 1],
['b', 2],
['c', 3]
]);
for (const key of map.keys()) {
console.log(key);
}
遍历值:
const map = new Map([
['a', 1],
['b', 2],
['c', 3]
]);
for (const value of map.values()) {
console.log(value);
}
总结
遍历 Map 对象有多种方法,你可以利用具体需求选择最适合的做法。for...of 循环的灵活性以及 Map 的原生方法都为我们提供了便利。