JavaScriptのmapオブジェクトのdelete()メソッドについて記載します。
概要、実際のサンプルコードを交えて構文などの使い方をまとめてみました。
JavaScriptのMapオブジェクトとは?
キー(key)とキーに対応する値(value)を対応させて保持するオブジェクトで、Setオブジェクトと併せて、ES6(ES2015)から追加された比較的新しいデータタイプです。
配列に似ており、Javascript でデータを扱う上でよく使うデータ型として知られています。
またJSのオブジェクト型とも非常に似ておりますが、文字列や数値、真偽値(Boolean)をキーとなる値に対して自由に設定できる違いがあります。
JS,TypeScript,Node.jsなどで開発していくうえで重要なデータタイプとなっています。
それでは、次に本題の説明に移ります。
JavaScriptのmapオブジェクトのdelete()概要
mapオブジェクトのdelete()は、指定したキーに関連付けられた値を削除するためのメソッドです。
構文、使い方
mapオブジェクトのdelete()の構文:
1 |
map.delete(key); |
使い方:
mapオブジェクトから指定したキーに関連付けられた値を削除するには、delete()メソッドを使用します。引数には、削除したいキーを指定します。
引数について
delete()の引数は、mapオブジェクトから削除するキーを指定します。
返り値について
delete()は、削除に成功した場合にtrueを返し、失敗した場合にfalseを返します。
このメソッドを利用した便利なテクニック
JavaScriptのmapオブジェクトのdelete()を使うと、オブジェクト内のキーと値の組み合わせを削除することができます。
このテクニックを使うと、オブジェクト内の不要な要素を簡単に削除したり、オブジェクトを更新したりすることができます。
現場で実際にどのように使われているか
mapオブジェクトのdelete()は、mapオブジェクトから特定のキーと値を削除するために使用されます。
例えば、次のようなコードがあるとします。
1 2 3 4 5 6 7 8 9 |
let myMap = new Map(); myMap.set('name', 'John'); myMap.set('age', 25); // 名前を削除 myMap.delete('name'); // 結果: // myMap = { age: 25 } |
JavaScriptのmapオブジェクトのdelete()と一緒によく使われる処理
一般的には、delete()を使用してmapオブジェクトから要素を削除する際に、forEach()を使用します。
なぜなら、mapオブジェクトの要素を削除するためには、その要素のキーを指定する必要があるからです。
forEach()を使用することで、mapオブジェクト内の各要素に対して処理を行うことができます。
使用する上での注意点
mapオブジェクトのdelete()は、mapオブジェクトから指定したキーを削除するために使用されますが、削除したキーの値は戻り値として返されません。
また、存在しないキーを指定した場合は何も行われず、falseが返されます。
JavaScriptのmapオブジェクトのdelete()と似た処理のJSメソッド、違い
splice()メソッドと似ていますが、下記の違いがあります。
- splice()は、配列から要素を削除したり、要素を追加したりすることができます。
- delete()は、オブジェクトからプロパティを削除するだけです。
JavaScriptのmapオブジェクトのdelete()を使ったサンプルコードの紹介
mapオブジェクトのdelete()を使ったサンプルコード
1 2 3 4 5 6 7 8 9 10 11 12 |
// mapオブジェクトを定義 const map = new Map(); // mapオブジェクトに値を追加 map.set('key1', 'value1'); map.set('key2', 'value2'); // mapオブジェクトから値を削除 map.delete('key1'); // mapオブジェクトから値を取得 console.log(map.get('key2')); |
JavaScript mapオブジェクトの他メソッドについて
JavaScriptのmapオブジェクトの他メソッドについては、下記記事にもまとめていますので参考にしてみてください
メソッド名 | 機能 | リンク |
map new Map() | 新しいマップオブジェクトを作成します | JavaScript mapオブジェクト newMapメソッドの使い方 |
map.prototype.set() | マップ内のキーの値を設定します | JavaScript mapオブジェクト setメソッドの使い方 |
map.prototype.get() | マップ内のキーの値を取得します | JavaScript mapオブジェクト getメソッドの使い方 |
map.prototype.clear() | マップからすべての要素を削除します | JavaScript mapオブジェクト clearメソッドの使い方 |
map.prototype.delete() | キーで指定されたマップ要素を削除します | JavaScript mapオブジェクト deleteメソッドの使い方 |
map.prototype.has() | キーがマップに存在する場合、trueを返します | JavaScript mapオブジェクト hasメソッドの使い方 |
map.prototype.forEach() | マップ内の各キー/値ペアのコールバックを呼び出す | JavaScript mapオブジェクト foreachメソッドの使い方 |
map.prototype.entries() | マップ内の[key、value]ペアを持つイテレーターオブジェクトを返します | JavaScript mapオブジェクト entriesメソッドの使い方 |
map.prototype.keys() | マップ内にキーを含むイテレーターオブジェクトを返します | JavaScript mapオブジェクト keysメソッドの使い方 |
map.prototype.values() | マップ内の値のイテレーターオブジェクトを返します | JavaScript mapオブジェクト valuesメソッドの使い方 |
map size property | マップ要素の数を返します | JavaScript mapオブジェクト sizeプロパティの使い方 |
また、JavaScriptの公式ドキュメントであるMDNで記載されているmapオブジェクトのdeleteメソッドについても補足としてリンクを貼っておきます。
参考にしてみてください。