JS中清空Map和Set集合应直接调用clear()方法,该方法高效、语义明确且保持引用不变;Map.clear()清除所有键值对,Set.clear()清除所有元素,二者均使size变为0。

JS 中清空 Map 和 Set 集合,直接调用 clear() 方法即可,这是最简洁、高效的标准做法。
Map.clear():清空键值对
Map 实例提供原生的 clear() 方法,调用后所有键值对会被移除,size 变为 0。
示例:
const map = new Map([['a', 1], ['b', 2]]);console.log(map.size); // 2
map.clear();
console.log(map.size); // 0
console.log(map.has('a')); // false
Set.clear():清空唯一值
Set 同样支持 clear() 方法,调用后内部所有元素被清除,size 归零。
示例:
const set = new Set([1, 2, 3]);console.log(set.size); // 3
set.clear();
console.log(set.size); // 0
console.log(set.has(1)); // false
注意:没有“重置”或“重建”的必要
不需要通过重新赋值(如 map = new Map())来“清空”,那样会丢失原引用,尤其在函数外或被其他变量引用时容易出错。
推荐始终优先使用 clear(),它:
- 保持对象引用不变,避免副作用
- 性能优于新建实例(无内存分配开销)
- 语义明确,可读性好
不支持 clear 的旧环境?基本不用考虑
Map 和 Set 的 clear() 方法自 ES6(2015)起就是标准特性,所有现代浏览器和 Node.js(≥ v0.12)均支持。若需兼容极老环境(如 IE),应先用 polyfill,而非手动遍历删除。


















