迭代地图

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