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的场景就是去重和加快搜索性能,有这两种场景的可以试试,非常好用。

相关推荐
天若有情6734 小时前
Dev_Portfolio 个人主页html网页源码分享!!!
前端·html·源码·个人主页
李剑一5 小时前
ant-design-vue 1.x 版本换肤功能开发
前端·vue.js·ant design
京东云开发者5 小时前
【Coding生态】从代码托管到 AI 能力底座:与Coding一起共建 AI 研发生态
前端
guhy fighting5 小时前
x-www-form-urlencoded,form-data,raw 表单请求格式的区别
前端·表单请求格式
李明卫杭州6 小时前
Vue2 与 Vue3 自定义指令详解:钩子变化、迁移指南与实战示例
前端·javascript·vue.js
问商十三载6 小时前
大模型GEO内容更新频率:3个节奏规律提收录权重,零成本提30%引用率附更新计划表
前端·人工智能·机器学习
yingyima6 小时前
sed 命令速查手册:从一次午夜事故说起
前端
七月丶6 小时前
线上出 Bug,你还在让用户"清一下缓存"?我用一个插件让每个请求自报版本
前端·javascript·面试
飘尘6 小时前
让AI能够预演现实的世界模型,到底是什么?
前端·人工智能
不简说6 小时前
JS 代码技巧 vol.3 — 10 个防抖节流深挖,小白到老炮的踩坑路
前端·javascript·面试