JavaScript

組み込みオブジェクト

Map オブジェクト

 編集:2022.08.11 by T.A.

mdn

Map オブジェクトはキーと値のペアを保持し、キーが最初に挿入された順序を覚えています。キーや値には任意の値(オブジェクトとプリミティブ値)を使用することができます。

¶省く

コンストラクター
new Map([iterable])
新しい Map オブジェクトを生成します。
静的プロパティ
get Map[@@species]
派生クラスを生成するためのコンストラクター関数です。
インスタンス プロパティ
Map.size
Map オブジェクトの中のキーと値の組の数を返します。
インスタンス メソッド
Map.clear()
Map オブジェクトからすべてのキーと値の組を削除します。
Map.delete(key)
Map オブジェクトに要素が存在し、削除された場合は true を返します、要素が存在しなければ false を返します。その後では Map.has(key) が false を返すようになります。
Map.get(key)
key で指定されたキーに結び付けられた値を返します。存在しない場合は undefined を返します。
Map.has(key)
key で指定されたキーに結び付けられた要素が Map オブジェクト内に存在するかどうかを示す boolean を返します。
Map.set(key, value)
Map オブジェクト内の key で指定されたキーの値を value に設定します。その Map オブジェクトを返します。
反復処理メソッド
Map[@@iterator]()
新しいイテレーターオブジェクトを返し、これには Mapオブジェクト内の各要素の [key, value] の配列が挿入順で含まれます。
Map.keys()
新しいイテレーター オブジェクトを返し、これには Mapオブジェクト内の各要素のキーが挿入順で含まれます。
Map.values()
新しいイテレーター オブジェクトを返し、これには Mapオブジェクト内の各要素の値が挿入順で含まれます。
Map.entries()
Map オブジェクト内の要素に対して挿入順にすべての要素の [key, value] の配列を含む、新しいイテレーター オブジェクトを返します。
Map.forEach(callback([value][, key][, map])[, thisArg])
callbackFn を、Map オブジェクトに存在するそれぞれのキーと値の組に対して1回ずつ、挿入順に呼び出します。thisArg 引数が forEach に与えられた場合は、それぞれのコールバックでこれを this の値として使用します。
Map オブジェクトの使用
//コンソールにて
let myMap = new Map()

let keyString = '文字列'
let keyObj    = {}
let keyFunc   = function() {}

// 値を設定する
myMap.set(keyString, "'文字列' と結び付けられた値")
myMap.set(keyObj, "keyObj と結び付けられた値")
myMap.set(keyFunc, "keyFunc と結び付けられた値")

myMap.size              // 3

// 値を取得する
myMap.get(keyString)    // "'文字列' と結び付けられた値"
myMap.get(keyObj)       // "keyObj と結び付けられた値"
myMap.get(keyFunc)      // "keyFunc と結び付けられた値"

myMap.get('文字列')     // "'文字列' と結び付けられた値"
                        // keyString === '文字列' であるため
myMap.get({})           // undefined, keyObj !== {} であるため
myMap.get(function() {}) // undefined, keyFunc !== function () {} であるため

¶省く


テスト
HTML:


ここにHTMLが表示される
スクリプト組み込み:
JavaScript:


JavaScript:




表示内容:
表示内容: