[JavaScript]連想配列の要素をクリア(全削除)するには?

JavaScript

どうも、ちょげ(@chogetarou)です。

連想配列の要素をクリアして全削除する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

連想配列の要素をクリアして全削除する方法は、ObjectとMapで異なります。

Objectの場合

Objectの連想配列の要素をクリアする方法は、2つあります。

forループ

1つは、forループを使う方法です。

まず、for (const key in obj) {}のように、for..inでObjectの連想配列をループします。

forループの処理で、連想配列のhasOwnProperty()の返り値がtrueの要素で条件分岐します。

そして、hasOwnProperty()の戻り値がtrueの要素を、deleteで削除します。

for (const key in dictionary) {
    if (dictionary.hasOwnProperty(key)) {
        delete dictionary[key];
    }
}

上記のforループは、ループしたObjectの連想配列の要素をクリアします。

使用例

const numbers = { "one": 1, "two": 2, "three": 3, "four": 4, "five": 5 };

for (const key in numbers) {
    if (numbers.hasOwnProperty(key)) {
        delete numbers[key];
    }
}

console.log(numbers)
出力:
{}

{}

もう1つは、{}を使う方法です。

具体的な方法としては、Objectの連想配列に{}を代入します。

dictionary = {};

上記の代入で、左辺のObjectの連想配列はクリアされます。

使用例

var numbers = { "one": 1, "two": 2, "three": 3, "four": 4, "five": 5 };

numbers = {};

console.log(numbers);
出力:
{}

Mapの場合

Mapの連想配列の場合は、clear()を使います。

具体的には、map.clear()のように、Mapの連想配列からclear()を呼び出します。

map.clear()

上記のclear()は、呼び出したMapの連想配列の要素をクリアします。

使用例

const numbers = new Map([[ "one", 1], ["two", 2], ["three", 3], ["four", 4], ["five", 5 ]]);

numbers.clear()

console.log(numbers);
出力:
Map(0) {}
スポンサーリンク

まとめ

連想配列の要素をクリアして全削除する方法は、ObjectとMapで違います。

  • Objectの場合
    • forループを使う方法
    • {}を使う方法
      dictionary = {};
  • Mapの場合
    map.clear()

コメント

タイトルとURLをコピーしました