set.prototype.clear() 是清空 set 实例所有元素的唯一标准方法,无参数、不返回新对象、直接修改原 set,调用后 size 变为 0,且影响所有引用该实例的变量。

Set.prototype.clear() 是 JavaScript 中用于清空 Set 实例所有元素的内置方法,调用后该 Set 变为空集合(size 变为 0),不接受任何参数,也不返回新对象,而是直接修改原 Set。
基本用法很简单
只需在 Set 实例上调用 clear() 方法即可:
- 它没有参数,也不关心 Set 当前是否为空
- 执行后,size 属性立即变为 0
- 原 Set 对象本身被修改,不是创建新 Set
例如:
mySet.clear();
console.log(mySet.size); // 输出 0
console.log(mySet.has(1)); // false
和数组清空方式的区别要注意
不同于数组常用 arr.length = 0 或 arr.splice(0),Set 没有 length 属性,也不能通过索引操作。必须用 clear() —— 这是唯一标准、安全且语义明确的方式。
- 不能用 delete 或赋值 = new Set() 来“清空”,后者会丢失原引用
- 遍历 + delete 操作效率低,且易出错,完全没必要
适用场景很常见
适合需要重用 Set 实例、避免频繁创建对象的场合,比如:
- 缓存去重逻辑中反复收集又重置数据
- 事件处理中累积 ID 后批量清理
- 算法中临时记录状态,一轮结束后清空继续下一轮
注意:clear 不影响 Set 的引用关系
如果多个变量指向同一个 Set 实例,调用任意一个的 clear(),所有引用看到的都是空集合:
const a = new Set(['x', 'y']);const b = a;
a.clear();
console.log(b.size); // 0 —— b 也变空了 不复杂但容易忽略
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











