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

相关推荐
这儿有一堆花12 分钟前
深入解析 Video.js:现代 Web 视频播放的工程实践
前端·javascript·音视频
烤麻辣烫28 分钟前
JS基础
开发语言·前端·javascript·学习
IT_陈寒1 小时前
Vue的响应式把我坑惨了,原来问题出在这
前端·人工智能·后端
2603_953527991 小时前
WordPress Finale Lite 插件高危漏洞检测与利用工具 (CVE-2024-30485)
前端·python·安全·web3·xss
2601_949818091 小时前
头歌答案--爬虫实战
java·前端·爬虫
猫猫不是喵喵.2 小时前
layui表单项次大数据量导入并提交
前端·javascript·layui
张小潇2 小时前
AOSP15 WMS/AMS系统开发 - 窗口层级源码分析
android·前端
whuhewei3 小时前
HTTP1/2/3演变
前端·计算机网络
腹黑天蝎座3 小时前
从零实现一个前端监控系统:性能、错误与用户行为全方位监控
前端·监控
Hello--_--World3 小时前
ES13:类私有属性和方法、顶层 await、at() 方法、Object.hasOwnProperty()、类静态块 相关知识点
开发语言·javascript·es13