ES6 (ES2015)新增的集合对象Set

Set 是 **ES6 (ES2015)**新增的 JavaScript 内置集合数据结构,是 JS 原生的,不用引入任何插件就能用,现代浏览器都支持,无需考虑兼容性问题。Set的最核心优势是,一去重,二搜索快,是用来弥补传统数组的不足而引入的。

1、去重

const ids = 100, 101, 100, 102, 103, 103

const idSet = new Set(ids)

这是idSet就只有100,101,102,103了。

2、搜素快

数组:ids.includes(102)

底层是遍历数组,数据量越大,查找越慢

集合:idSet.has(102)

底层是哈希算法,无论数据量多大,查找速度几乎不变,效率极高。

集合使用也非常方便:

1、增加

idSet.add(200)

2、删除

idSet.delete(100)

3、转回数组

const newIds = ...idSet

使用Set的场景就是去重和加快搜索性能,有这两种场景的可以试试,非常好用。

相关推荐
程序员Sunday17 小时前
JavaScript 事件循环面试题,宏任务与微任务怎么执行|Sunday面试指南
开发语言·javascript·面试·校招·事件循环·程序员sunday
Setsuna_F_Seiei17 小时前
前端转型 Agent 开发 06 之 Agent Memory 记忆系统(让 Agent 更智能,更懂你)
前端·agent·ai编程
zhangzeyuaaa18 小时前
Ruby 多线程、GVL(GIL)与 Mutex 完全指南
开发语言·前端·ruby
默_笙18 小时前
🌊 向量库和 ES 都查不出"关系",我只好给奶茶建了一张人脉网
前端·javascript
优选资讯18 小时前
标签打印软件怎么对接 Excel 数据
前端·excel
思无邪6619 小时前
用 AI 做 JS 逆向:从抓包到复现的完整方法论
开发语言·javascript·人工智能
一个风轻云淡19 小时前
GCC 和 GDB命令简单解读
java·linux·前端
u01110267520 小时前
图片处理接口如何统一错误信息 前端提示与后端错误码设计
前端·状态模式
福兮说20 小时前
浏览器里把 iPhone 的 HEIC 转成 JPG:Chrome 解不开、转完大了七成、拍摄时间全丢,六个坑实测
前端·javascript·图像处理·chrome·ios·iphone·heic
libokaifa20 小时前
把语音模型塞进手机:sherpa-onnx 在 Android 上的 ASR / TTS
前端