1. ホーム
  2. javascript

[解決済み] Mapのキーを配列に変換するには?

2022-03-22 16:23:25

質問

例えば、次のような地図があるとします。

let myMap = new Map().set('a', 1).set('b', 2);

そして、手に入れたいのは ['a', 'b'] をベースにしたものです。今の私の解決策は、とても長く、恐ろしいものに思えます。

let myMap = new Map().set('a', 1).set('b', 2);
let keys = [];
for (let key of myMap)
  keys.push(key);
console.log(keys);

もっといい方法があるはずだ、違うか?

どのように解決するのですか?

Map.keys() を返します。 MapIterator に変換することができるオブジェクトです。 Array 使って Array.from :

let keys = Array.from( myMap.keys() );
// ["a", "b"]

EDIT: イテレート可能なオブジェクトを配列に変換することもできます。 拡散構文

let keys =[ ...myMap.keys() ];
// ["a", "b"]