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

連想配列の要素をクリアして全削除する方法は、Object(オブジェクト)とMap(マップ)で違います。
Objectの場合
Objectの場合は、forループを使います。
まず、for (const key in obj) {}
のように、「for..in
」でObjectの連想配列をループします。
forループの処理で、連想配列のhasOwnProperty()の返り値がtrueの要素で条件分岐します。
そして、hasOwnProperty()の戻り値がtrueの要素を、deleteで削除します。
//objの要素をクリア
for (const key in obj) {
if (nums.hasOwnProperty(obj)) {
delete nums[obj];
}
}
上記のforループは、ループしたObjectの連想配列の要素をクリアします。
使用例
type Numbers = {
[key: string]: number
}
let nums: Numbers = { "one": 1, "two": 2, "three": 3, "four": 4, "five": 5 };
for (const key in nums) {
if (nums.hasOwnProperty(key)) {
delete nums[key];
}
}
console.log(nums)
出力:
{}
Mapの場合
Mapの場合は、Math.clear()を使います。
具体的な方法としては、「map.clear()
」のように、Mapからclear()を呼び出します。
map.clear()
上記のclear()は、呼び出したMap(マップ)をクリアして、要素を全削除します。
使用例
const nums: Map<string, number> = new Map();
nums.set("one", 1)
nums.set("two", 2)
nums.set("three", 3)
nums.set("four", 4)
nums.set("five", 5)
nums.clear()
console.log(nums)
出力:
Map (0) {}
まとめ
連想配列の要素をクリアして全削除する方法は、Object(オブジェクト)とMap(マップ)で違います。
- Objectの場合は、forループを使う
- Mapの場合は、clear()を使う
map.clear()
コメント