当前位置: 首页 > news >正文

关于 JavaScript 中 new Set() 的详解

new Set() 是什么?

它是 JavaScript 中用于创建 Set 对象的构造函数。Set 是一种特殊的数据集合,核心特性是 自动去重(所有值唯一)。

核心特性:

  1. 值唯一性
    自动忽略重复值,每个值在 Set 中只能出现一次。
const set = new Set();
set.add("苹果");
set.add("苹果"); // 重复值被忽略
console.log(set); // 输出: Set(1) { "苹果" }
  1. 支持任何数据类型
    可存储:字符串、数字、对象、null、undefined,甚至 NaN(Set 视 NaN 为相同值)。
  2. 常用方法:
    .add(值):添加值(返回 Set 本身,可链式调用)。
    .has(值):检查是否存在该值(返回布尔值)。
    .delete(值):删除值(成功返回 true)。
    .clear():清空所有值。
    .size:属性,获取当前值的数量(非方法)。

实际示例

// 1. 创建 Set
const fruits = new Set();// 2. 添加值
fruits.add("🍎");
fruits.add("🍌").add("🍇"); // 链式添加
fruits.add("🍎"); // 重复值无效// 3. 检查与操作
console.log(fruits.size);    // 输出: 3(苹果、香蕉、葡萄)
console.log(fruits.has("🍌")); // 输出: true
fruits.delete("🍇");         // 删除葡萄// 4. 转换为数组(经典用法:数组去重)
const arr = [1, 1, 2, 3];
const uniqueArr = [...new Set(arr)]; // [1, 2, 3]

关键细节

  • 值比较规则:使用严格相等 (===),但 NaN 被视为相同(与 === 不同)。
  • 顺序保留:Set 会记住值的添加顺序(遍历时按插入顺序输出)。
  • 高效查找:has() 方法性能远优于数组的 includes()(尤其数据量大时)。

常见用途

  • 数组去重(最常用)
const arr = [1, 2, 2, 3];
const unique = [...new Set(arr)]; // [1, 2, 3]
  • 存储不重复的键(如用户 ID 列表)
  • 高效存在性检查(替代数组搜索)

如果需要键值对结构,请使用 Map;若只需唯一值集合,Set 是最佳选择。

相关文章:

  • MacOS 安装git
  • ssm项目tomcat启动就java: Compilation failed: internal java compiler error
  • 在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用
  • Leetcode4(寻找两个正序数组的中位数)
  • Windows11 WSL2 Ubuntu编译安装perf工具
  • VSCode 没有添加Windows右键菜单
  • Java图形编程实战:从基础绘制到高级动画实现
  • 函数01 day10
  • 【PostgreSQL安装】保姆级安装教程+特性详解
  • 深入理解Go并发模型:从CSP理论到生产实践的完整指南
  • encodeURIComponent和decodeURIComponent
  • OpenHarmony按键分发流程(60%)
  • 安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲
  • 云安全与网络安全:核心区别与协同作用解析
  • Android Jetpack Compose开发纯自定义表盘【可用于体重,温度计等项目】
  • 设置Outlook关闭时最小化
  • TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?
  • Haption 力反馈遥操作机器人:6 自由度 + 低延迟响应,解锁精准远程操控体验
  • omi开源程序是AI 可穿戴设备的源码。戴上它,说话,转录,自动完成
  • USB Over IP专用硬件的5个特点
  • abp网站开发/成都网络推广外包
  • 嘉兴做网站建设的公司/seminar
  • 建站如何赚钱/北京seo服务销售
  • 信息作业网站下载/网络营销策略的定义
  • 微信防红短链接生成/南宁企业官网seo
  • 商城网页设计html和css代码/windows优化大师怎么彻底删除