[JavaScript]連想配列の全てのキー(key)を取得するには?

JavaScript

どうも、ちょげ(@chogetarou)です。

連想配列の全てのキーを取得する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

連想配列の全てのキーを取得する方法は、ObjectとMapで異なります。

Objectの場合

Objectの連想配列の全てのキーを取得するには、Object.keys()を使います。

まず、Object.keys()を呼び出します。

そいて、Object.keys()の引数に連想配列を指定します。

const keys = Object.keys(dictionary);

上記のObject.keys()は、引数に指定したObjectの連想配列の全てのキーを配列として取得します。

使用例

const numbers = { "one": 1, "two": 2, "three": 3, "four": 4, "five": 5 };

const keys = Object.keys(numbers);

console.log(keys);
出力:
[ 'one', 'two', 'three', 'four', 'five' ]

Mapの場合

Mapの連想配列の場合は、keys()を使います。

具体的には、map.keys()のように、Mapの連想配列からkeys()を呼び出します。

const keys = map.keys();

上記のkeys()は、呼び出したMapの連想配列の全てのキーをイテレーターとして取得します。

Mapの全てのキーを配列として取得したい場合は、Array.from()もしくはスプレッド構文を使います。

const keys = Array.from(map.keys());
const keys2 = [...map.keys()];

使用例

const numbers = new Map([[ "one", 1], ["two", 2], ["three", 3], ["four", 4], ["five", 5 ]]);

const keys = numbers.keys()
const keys2 = [...numbers.keys()];
const keys3 = Array.from(numbers.keys());

console.log(keys);
console.log(keys2);
console.log(keys3);
出力:
[Map Iterator] { 'one', 'two', 'three', 'four', 'five' }
[ 'one', 'two', 'three', 'four', 'five' ]
[ 'one', 'two', 'three', 'four', 'five' ]
スポンサーリンク

まとめ

連想配列の全てのキーを取得する方法は、ObjectとMapで違います。

  • Objectの場合
    const keys = Object.keys(dictionary);
  • Mapの場合
    const keys = map.keys();

コメント

タイトルとURLをコピーしました