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