Map getOrInsert()
getOrInsert() は Map インスタンスのメソッドで、この対応表 (Map) 内で指定されたキーに対応する値を返します。キーが存在しない場合、指定されたデフォルト値を持つ新しい項目を挿入し、挿入された値を返します。
デフォルト値の計算にコストがかかる場合は、代わりに Map.prototype.getOrInsertComputed() を使用することを検討してください。これはコールバックを受け取り、実際に必要になった場合にのみデフォルト値を計算します。
対応ブラウザ
| 機能 | デスクトップ | モバイル | ||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Safari | Chrome Android | Safari iOS | |
| 145 | 145 | 144 | 26.2 | 145 | 26.2 | |
| Map インスタンスの getOrInsertComputed() メソッドは、この Map 内の指定されたキーに対応する値を返します。 キーが存在しない場合は、キーと指定されたコールバックから計算されたデフォルト値を含む新しいエントリを挿入し、挿入された値を返します。 | 145 | 145 | 144 | 26.2 | 145 | 26.2 |
| getOrInsert() は WeakMap インスタンスのメソッドで、この WeakMap 内で指定されたキーに対応する値を返します。キーが存在しない場合、指定されたデフォルト値を持つ新しい項目を挿入し、挿入された値を返します。 | 145 | 145 | 144 | 26.2 | 145 | 26.2 |
| getOrInsertComputed() は WeakMap インスタンスのメソッドで、この WeakMap 内で指定されたキーに対応する値を返します。キーが存在しない場合、指定されたコールバックから計算されたデフォルト値と共にキーを持つ新しい項目を挿入し、挿入された値を返します。 | 145 | 145 | 144 | 26.2 | 145 | 26.2 |
基本構文
const map = new Map();
map.getOrInsert('key', 'default');
// If 'key' is not in the map, set it to 'default' and return it ライブデモ
Get or insert into a Map
Use the proposal if available, otherwise fall back to a helper.
Build grouped buckets
Create arrays on demand when grouping records into a Map.
Reuse existing entries
Confirm that the same key does not recreate the stored value.
実務での使いどころ
-
Map getOrInsert() の活用
getOrInsert() は Map インスタンスのメソッドで、この対応表 (Map) 内で指定されたキーに対応する値を返します。
注意点
- 古いブラウザ(IE等)では対応していない。対象ブラウザを確認すること。
アクセシビリティ
- JavaScript による動的更新時は、aria-live リージョンで変更をスクリーンリーダーに通知する。