迭代地图
Map 有三种返回迭代器的方法:.keys()
,.values()
和 .entries()
。.entries()
是默认的 Map 迭代器,包含 [key, value]
对。
const map = new Map([[1, 2], [3, 4]]);
for (const [key, value] of map) {
console.log(`key: ${key}, value: ${value}`);
// logs:
// key: 1, value: 2
// key: 3, value: 4
}
for (const key of map.keys()) {
console.log(key); // logs 1 and 3
}
for (const value of map.values()) {
console.log(value); // logs 2 and 4
}
地图也有 .forEach()
方法。第一个参数是一个回调函数,它将为映射中的每个元素调用,第二个参数是在执行回调函数时将用作 this
的值。
回调函数有三个参数:value,key 和 map 对象。
const map = new Map([[1, 2], [3, 4]]);
map.forEach((value, key, theMap) => console.log(`key: ${key}, value: ${value}`));
// logs:
// key: 1, value: 2
// key: 3, value: 4