どうも、ちょげ(@chogetarou)です。
連想配列の要素をクリアして全削除する方法を紹介します。
方法

連想配列の要素をクリアして全削除する方法は、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()
コメント