javascript 配列からMapに変換する

javascript 配列からMapに変換する

javascriptで、配列からMapに変換するサンプルコードを記述してます。

環境

  • OS windows11 pro 64bit
  • Apache 2.4.43
  • ブラウザ chrome 104.0.5112.101

配列からMapに変換する

配列からMapに変換するには、配列から「new Map」することで可能です。

const arr = [
  ['aaa', 'AAA'],
  ['bbb', 'BBB'],
  ['ccc', 'CCC']
];

const map = new Map(arr);

console.log(map);
// {'aaa' => 'AAA', 'bbb' => 'BBB', 'ccc' => 'CCC'}

実行結果

配列が「key」と「value」の2つの要素以外の場合は、最初2つだけが使用されます。

const arr = [
  ['aaa', 'AAA', '111'],
  ['bbb', 'BBB', '222', 'いいい'],
  ['ccc', 'CCC', '333'],
];

const map = new Map(arr);

console.log(map);
// {'aaa' => 'AAA', 'bbb' => 'BBB', 'ccc' => 'CCC'}

オブジェクトの配列

「オブジェクトの配列」の場合は、「map」を使用します。

const arr = [
    {key: 'aaa', value: 'AAA'},
    {key: 'bbb', value: 'BBB'},
    {key: 'ccc', value: 'CCC'}
];

const map = new Map(
  arr.map(object => [object.key, object.value])
);

console.log(map);
// {'aaa' => 'AAA', 'bbb' => 'BBB', 'ccc' => 'CCC'}

また、「オブジェクトの配列」の場合は指定したプロパティで「Map」を作成することができます。

const arr = [
    {key: 'aaa', value: 'AAA', etc: 111},
    {key: 'bbb', value: 'BBB', etc: 222},
    {key: 'ccc', value: 'CCC', etc: 333}
];

const map = new Map(
  arr.map(object => [object.key, object.etc])
);

console.log(map);
// {'aaa' => 111, 'bbb' => 222, 'ccc' => 333}