Set
Set 是 ES6 提供的唯一值集合,适合去重、成员判断和集合运算。
#type / concept
#status / growing
#resource / javascript
#resource / ecmascript
[!info] related notes
- 所属 MOC: ES6 新特性 MOC, ECMAScript MOC
- 前置概念: ECMAScript集合引用类型
- 并列概念: WeakSet
- 关系笔记: Set vs WeakSet
Set
一句话定义
Set 是一种值唯一的集合,元素按插入顺序保存,适合去重和成员存在性判断。
核心内容
基本用法
const set = new Set([1, 2, 2, 3])
set.add(4)
set.has(2)
set.delete(1)
常用方法
add(value)has(value)delete(value)clear()sizeforEach()
常见用途
const unique = [...new Set(arr)]
const union = new Set([...setA, ...setB])
const intersection = new Set([...setA].filter(x => setB.has(x)))
遍历
for (const value of set) {
console.log(value)
}
边界与易混淆点
Set保存的是值的唯一性,不是按索引组织数据Set可以存基本类型和对象- 对象值按引用去重,不按内容去重
NaN在 Set 里会被视为同一个值
最短记忆方式
- 唯一值
- 可遍历
- 常用于去重和成员判断