JS中获取Map和Set大小需直接访问只读的size属性:Map.size返回键值对数量,Set.size返回唯一元素个数;size自动更新,非方法不可加括号,不支持length,兼容ES6+环境。

JS 中获取 Map 和 Set 的大小,直接访问它们的 size 属性即可,这是只读属性,返回当前容器中键值对或元素的数量。
Map 的 size 属性
Map 实例有一个 size 属性,表示它包含的键值对个数。它会自动更新,增删元素后无需手动维护。
例如:
const map = new Map();console.log(map.size); // 0
map.set('a', 1);
map.set('b', 2);
console.log(map.size); // 2
map.delete('a');
console.log(map.size); // 1
Set 的 size 属性
Set 同样提供 size 属性,表示其中唯一元素的个数。重复添加相同值不会改变 size。
例如:
const set = new Set();console.log(set.size); // 0
set.add(1);
set.add(2);
set.add(1); // 重复,不生效
console.log(set.size); // 2
注意点和常见误区
-
size是属性,不是方法,不能加括号调用(如map.size()是错误的) - 不能通过
length获取(map.length或set.length均为undefined) - 遍历或转换为数组后取
.length(如[...map].length)可行但低效,没必要 - 清空时用
map.clear()或set.clear(),之后size自动变为 0
兼容性说明
size 属性在所有现代浏览器和 Node.js 环境中都原生支持(ES6 起),无需 polyfill。IE 完全不支持 Map/Set,所以也不涉及 size 问题。


















