JavaScript Map
Mapはキーと値のペアを保持し、キーは任意のデータ型にすることができます。
Mapは、キーの元の挿入順序を記憶しています。
Mapが保持するメソッド
| メソッド | 説明 |
|---|---|
| new Map() | 新しいMapオブジェクトを作成 |
| set() | Mapのキーの値を設定 |
| get() | Mapのキーの値を取得 |
| delete() | キーで指定されたMap要素を削除 |
| has() | キー Mapに存在する場合はtrueを返す |
| forEach() | Map内の各キーと値のペアに対して関数を呼び出す |
| entries() | Map内の[key, value]ペアを持つイテレータを返す |
| 属性 | 説明 |
| size | Map内の要素数を返す |
Mapの作成方法
以下方法にてMapを作成。
new Map()で配列を渡す- マップを作成し、
Map.set()を使用する
new Map()メソッド
new Map()コンストラクタに配列を渡すことで、Mapを作成します。
set()メソッド
set()はMapに要素を追加するメソッドです。
例
// Mapの作成
const fruits = new Map();
// Mapに値を追加する
fruits.set("りんご", 500);
fruits.set("バナナ", 300);
fruits.set("みかん", 200);
set()メソッドを使用して、既存のMapにセットされている値を変更できます。
get()メソッド
get()メソッドはMapのキーを指定して値を取得します。
sizeプロパティ
sizeプロパティはマップ内の要素数を返します。
delete()メソッド
delete()メソッドはMap内の引数で指定したキーと、値を削除します。
has()メソッド
has()は引数で指定したキーがMapに存在する場合、trueを返します。
JavaScript ObjectとMap
JavaScript ObjectとMapの違い
| Object | Map | |
|---|---|---|
| Iterable | 直接反復可能ではない | 直接反復可能 |
| Size | なし | あり |
| Key Types | 文字列(またはシンボル)でなければならない | 任意のデータ型に指定可能 |
| Key Order | 不規則 | 挿入順 |
| Defaults | あり | なし |
forEach() メソッド
forEach()メソッドは、Map内の各キーと値のペアに対して関数を呼び出す。
例
// Map内の要素分繰り返し処理を行う
let text = "";
fruits.forEach (function(value, key) {
text += key + ' = ' + value;
})
entry()メソッド
entries()メソッドは、[キー、値] を持つオブジェクトを返します。
ブラウザのサポート
JavaScriptのMapは、Internet Explorerを除くすべてのブラウザーでサポートされています。
| Chrome | Egde | Firefox | Safari | Opera |