【JavaScript】Map.delete()関数の使い方と戻り値を解説
Map.delete()関数とは
Mapオブジェクトのdelete()関数は、削除したい要素のキーを引数として受け取り、現在のMapオブジェクトから該当する要素を削除します。
この関数の戻り値は以下の通りです。
- 指定されたキーがMapオブジェクト内に存在する場合:要素を削除し、
trueを返す - 指定されたキーがMapオブジェクト内に存在しない場合:
falseを返す(Map自体は変更されない)
構文
mapVar.delete(key)
key:Mapから削除する要素のキーを指定します。
サンプルコード1:要素の削除とサイズの確認
次の例では、4つの要素を持つMapを作成し、delete()関数でキー「4」の要素を削除しています。削除後のMapのサイズが3になっていることが確認できます。
<html>
<head>
<title>JavaScriptサンプル</title>
</head>
<body>
<script type="text/javascript">
var mapVar = new Map();
mapVar.set('1', 'Java');
mapVar.set('2', 'JavaFX');
mapVar.set('3', 'HBase');
mapVar.set('4', 'Neo4j');
// キー「4」の要素を削除
mapVar.delete('4');
document.write("Mapオブジェクトのサイズ: " + mapVar.size);
</script>
</body>
</html>
実行結果
Mapオブジェクトのサイズ: 3
サンプルコード2:戻り値の確認
次の例では、存在するキー「4」と存在しないキー「5」をそれぞれ削除し、戻り値の違いを確認しています。存在するキーを削除した場合はtrue、存在しないキーを指定した場合はfalseが返されるのがわかります。
<html>
<head>
<title>JavaScriptサンプル</title>
</head>
<body>
<script type="text/javascript">
var mapVar = new Map();
mapVar.set('1', 'Java');
mapVar.set('2', 'JavaFX');
mapVar.set('3', 'HBase');
mapVar.set('4', 'Neo4j');
// 存在するキー「4」を削除
var result = mapVar.delete('4');
document.write(result);
document.write("<br>");
document.write("Mapオブジェクトのサイズ: " + mapVar.size);
document.write("<br>");
// 存在しないキー「5」を削除
var result = mapVar.delete('5');
document.write(result);
document.write("<br>");
document.write("Mapオブジェクトのサイズ: " + mapVar.size);
</script>
</body>
</html>
実行結果
true
Mapオブジェクトのサイズ: 3
false
Mapオブジェクトのサイズ: 3
まとめと注意点
- delete()関数は、指定したキーの要素をMapから削除する
- 削除に成功した場合は
true、キーが存在しない場合はfalseを返す - 存在しないキーを指定してもエラーにはならず、単に
falseが返るだけで安全に扱える - Mapのすべての要素を一括で削除したい場合は、clear()関数を使用する
-
JavaScriptの関数プロトタイプとは?仕組みと使い方を解説
JavaScriptで作成されたすべての関数には、JavaScriptエンジンによって自動的にprototypeプロパティが追加されます。このprototypeプロパティはオブジェクトであり、デフォルトではconstructorプロパティを含んでいます。関数のプロトタイプには、以下のようにしてアクセスできます。functionName.prototypeコンストラクタ関数を使ってオブジェクトを生成する場合、このprototypeプロパティを活用することで、同じコンストラクタから作成された複数のオブジェクト間でメソッドやプロパティを効率的に共有することができます。これにより、各インスタンスごとに
-
JavaScriptでのメソッド借用:call()・apply()・bind()の使い方を解説
JavaScriptでは、call()、apply()、bind()という3つのメソッドを使うことで、あるオブジェクトが持つメソッドを別のオブジェクトが「借用」できます。これは、本来そのメソッドを持たないオブジェクトに対して、thisの参照先を差し替えてメソッドを実行できる便利なテクニックです。 3つのメソッドの違い call():引数をカンマ区切りで個別に渡し、即座に関数を実行します。 apply():引数を配列(または配列風オブジェクト)として渡し、即座に関数を実行します。 bind():thisを固定した新しい関数を返すだけで、即座には実行されません。返された関数は後から好きなタイミン