首页 > web前端 > js教程 > 正文

javascript的Set是什么_如何存储唯一值?

夢幻星辰
发布: 2025-12-20 16:43:40
原创
553人浏览过
Set 是 JavaScript 中存储唯一值的内置对象,自动去重且对 NaN 和 +0/-0 有特殊处理;支持 add、has、delete 等操作,可与数组互转实现快速去重,遍历方式包括 for...of、forEach 及 keys/values/entries。

javascript的set是什么_如何存储唯一值?

Set 是 JavaScript 中用于存储唯一值的内置对象,它自动确保所有元素互不重复,无论原始数据类型是基本类型还是引用类型(对引用类型按内存地址判断)。

Set 的核心特性:自动去重

Set 在添加值时会用严格相等(===)比较,但对 NaN 有特殊处理——它认为多个 NaN 是相等的,因此只保留一个;而 +0-0 在 Set 中被视为相同值(符合 IEEE 754 规范)。

  • 字符串、数字、布尔值等基本类型:值相同即视为重复
  • 对象、数组、函数等引用类型:只有同一引用(指向同一内存地址)才算重复
  • new Set([1, 1, 2, '2', '2']){1, 2, '2'}(数字 1 和字符串 '1' 不冲突)

常用操作方法

Set 提供简洁的 API 管理唯一值:

  • add(value):添加一个值,返回 Set 本身(可链式调用)
  • has(value):检查是否包含某值,返回布尔值
  • delete(value):删除指定值,返回是否删除成功
  • clear():清空所有值
  • size:获取当前元素个数(不是方法,是属性)

与数组互转:快速实现去重

利用 Set 的唯一性,可以一行代码去除数组重复项:

Seed-TTS
Seed-TTS

Seed-TTS 是一个高质量多功能的文本到语音生成模型

Seed-TTS 909
查看详情 Seed-TTS

立即学习Java免费学习笔记(深入)”;

  • 数组 → Set → 数组:[...new Set([1, 2, 2, 3])]Array.from(new Set(arr))
  • Set → 数组:Array.from(mySet)[...mySet]
  • 注意:Set 本身不支持索引访问(如 set[0]),需转为数组再操作

遍历 Set 的几种方式

Set 是可迭代对象,支持多种遍历语法:

  • for...of:按插入顺序遍历值(for (const v of mySet) { ... }
  • forEach():类似数组,回调参数为 (value, value, set)(前两个参数相同)
  • keys()values()entries():都可用,但 keys()values() 行为一致(因为 Set 只有值,没有键)

以上就是javascript的Set是什么_如何存储唯一值?的详细内容,更多请关注php中文网其它相关文章!

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号