set 的 add() 方法用于向集合添加唯一值,支持链式调用,重复值(含 nan)不生效,对象按引用判断;map 无 add 方法,需用 set()。

调用 add() 时,传入任意类型的值(如字符串、数字、对象、Symbol 等),Set 会自动去重:如果该值已存在,不会重复添加;否则追加到末尾。它返回 Set 本身,支持链式调用。
基本用法:添加单个值
创建 Set 后直接调用 add():
const set = new Set();set.add(1).add('a').add(true); // 链式添加- 此时
set包含{1, 'a', true},长度为 3
注意重复值不生效
Set 只保留唯一值,相同值多次 add 不会改变内容:
Java JDK 25 来自 OpenJDK 官方归档,版本为 JDK 25,本条下载地址已指向官方 Windows x64 zip 安装包直链,适合调试旧项目或兼容旧版 Java 运行环境。
-
set.add(1); set.add(1);—— 第二次无效,size 仍是 1 - 对对象而言,比较基于引用而非内容:
set.add({})和set.add({})会被视为两个不同元素 - NaN 在 Set 中被视为相等(与 === 不同),所以
set.add(NaN); set.add(NaN)只存一个
常见配合场景
add() 常用于动态收集数据:
- 去重数组:
[...new Set([1,2,2,3])]→[1,2,3](内部自动 add) - 条件添加:
if (condition) mySet.add(item); - 遍历中累积:
arr.forEach(x => mySet.add(x));
和 Map 的 add 混淆?不存在
Map 没有 add 方法,它用 set(key, value);Set 才用 add(value)。别把两者 API 记混。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










