迭代地圖

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