JavaScript - Map巡回、3つの方法

Mapのすべての要素(key-value)を巡回する方法を紹介します。

1. forEach() で Map のすべての要素を巡回

次のように、 forEach で Map の key-value 要素を巡回できます。デフォルトでは、矢印関数を使用して以下のように実装できます。

let myMap = new Map([
  ['c', 2],
  ['a', 4],
  ['d', 1],
  ['b', 3],
]);

myMap.forEach((value, key) => {
  console.log("key: " + key + ", value: " + value);
});

Output:

key: c, value: 2
key: a, value: 4
key: d, value: 1
key: b, value: 3

2. for...of で Map のすべての要素を巡回

for (const [key, value] of map) は map のすべての要素を for 文として巡回し、反復文内で key と value 変数で要素にアクセスできます。

let myMap = new Map([
  ['c', 2],
  ['a', 4],
  ['d', 1],
  ['b', 3],
]);

for (const [key, value] of myMap) {
  console.log("key: " + key + ", value: " + value);
}

Output:

key: c, value: 2
key: a, value: 4
key: d, value: 1
key: b, value: 3

3. keys(), values() で Map のすべての要素を巡回

keys() はすべての key を配列として返し、 values() はすべての value を配列として返します。

以下のようにMapのkeyまたはvalueを巡回できます。

let myMap = new Map([
  ['c', 2],
  ['a', 4],
  ['d', 1],
  ['b', 3],
]);

console.log("keys:");
for (const key of myMap.keys()) {
  console.log(key);
}

console.log("values:");
for (const value of myMap.values()) {
  console.log(value);
}

Output:

keys:
c
a
d
b
values:
2
4
1
3
codechachaCopyright ©2019 codechacha