JavaScriptのMap

Mapはキーがどんなデータ型でもなる集合です。

Mapはキーの元の挿入順序を覚えます。

Mapを作成する方法

以下のようにJavaScript Mapを作成できます:

  1. 配列を渡すことで new Map()
  2. Mapを作成し使用する: Map.set()

new Map() メソッド

配列を渡すことで new Map() 構造関数でMapを作成:

インスタンス

// Mapを作成
const fruits = new Map([
  ["apples", 500],
  ["bananas", 300],
  ["oranges", 200]
]);

実際に試してみてください

set() メソッド

使用できます set() 方法でMapに要素を追加:

インスタンス

// Mapを作成
const fruits = new Map();
// Mapの値を設定
fruits.set("apples", 500);
fruits.set("bananas", 300);
fruits.set("oranges", 200);

実際に試してみてください

set() 方法は既存のMapの値を変更することもできます:

インスタンス

fruits.set("apples", 200);

実際に試してみてください

get() メソッド

get() 方法でMap中のキーの値を取得:

インスタンス

fruits.get("apples");    // 返回 500

実際に試してみてください

Mapはオブジェクトです

typeof 返回 object:

インスタンス

// 返回 object:
typeof fruits;

実際に試してみてください

instanceof Map 返回 true:

インスタンス

// 返回 true:
fruits instanceof Map;

実際に試してみてください

JavaScriptオブジェクトとMapの違い

以下はJavaScriptオブジェクトとMapの違いです:

オブジェクト Map
直接イテレートできません 直接イテレートできます
サイズ属性はありません サイズ属性があります
キーは文字列またはSymbolでなければなりません キーはどんなデータ型でもできます
キーの順序は明確ではありません キーは挿入順にソートされています
デフォルトのキーがあります デフォルトのキーはありません

完全なMapリファレンスマニュアル

詳細なリファレンスが必要な場合は、以下を訪れてください:JavaScript Map リファレンスマニュアル

このマニュアルには、すべてのMap属性とメソッドの説明と例が含まれています。

ブラウザのサポート

Mapは ES6の機能(JavaScript 2015)。

2017年6月から、すべての現代ブラウザは ES6 をサポートしています:

Chrome Edge Firefox Safari Opera
Chrome 51 Edge 15 Firefox 54 Safari 10 Opera 38
2016年5月 2017年4月 2017年6月 2016年9月 2016年6月

Internet Explorer は Map をサポートしていません。