set 的 size 属性是只读数值,实时返回集合中唯一元素个数;它非方法、不加括号,增删元素或清空后自动更新,且基于严格相等判断重复。

JavaScript 中的 Set 对象提供了一个只读属性 size,它直接返回当前集合中元素的个数,用法简单、高效,不需要遍历或手动计数。
size 是只读属性,实时反映元素数量
size 不是方法,不能加括号调用(如 set.size() 是错误的),它是一个动态更新的数值属性。只要增删元素,size 值会自动变化。
- 添加元素后,
size立即增加(重复值不计入) - 删除元素后,
size立即减少 - 清空集合(
set.clear())后,size变为0
基本用法示例
创建 Set 并查看 size:
const mySet = new Set();
console.log(mySet.size); // 0
mySet.add('a').add('b').add('a'); // 'a' 重复,只存一次
console.log(mySet.size); // 2
mySet.delete('b');
console.log(mySet.size); // 1
注意:size 不受引用类型“内容相同”影响
Set 判断重复基于严格相等(===),对象和数组即使内容一样也被视为不同元素,size 会如实统计:
const s = new Set();
s.add({x: 1});
s.add({x: 1}); // 新对象,不重复判断
console.log(s.size); // 2
与数组 length 的区别
Set.size 和数组的 length 都是数字属性,但语义不同:
-
Array.length表示索引最大值 + 1,可能包含空槽(如[,,]的 length 是 2) -
Set.size总是精确等于当前实际存储的唯一元素个数,无歧义
不复杂但容易忽略:只要 Set 实例存在,size 就随时可取,无需额外计算。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











