JavaScript - Mapのkeyを配列に変換する

Mapのすべてのキーを配列に変換する方法を紹介します。

1. Array.from()でkeyを配列に変換する

Map.keys() は、Map のすべてのキーのイテレータを返します。

Array.from(iterator) を利用して、Iterator オブジェクトを配列に変換できます。

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

console.log(myMap.keys());

let arr = Array.from(myMap.keys());
console.log(arr);

Output:

[Map Iterator] { 'c', 'a', 'd', 'b' }
[ 'c', 'a', 'd', 'b' ]

2. Spread operatorを使ってキーを配列に変換する

以下のように Spread operator(...) を利用して iterator で参照可能なすべての要素を配列に変換できます。

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

let arr = [...myMap.keys()];
console.log(arr);

Output:

[ 'c', 'a', 'd', 'b' ]
codechachaCopyright ©2019 codechacha