Set集合
a.简述
1.Set 和 Map 主要的应用场景在于 数据重组 和 数据储存。
2.Set 是一种叫做集合的数据结构,Map 是一种叫做字典的数据结构。
b.集合 与 字典 的区别:
1.共同点:集合、字典 可以储存不重复的值
2.不同点:集合 是以 [value, value]的形式储存元素,字典 是以 [key, value] 的形式储存
3.集合(Set) 新的数据结构,类似于数组,成员唯一(内部元素没有重复的值)。且使用键对数据排序即顺序存储。
const arr = new Set()
const data = [1,2,3,4,5,1,2,3,4]
data.forEach(item => arr.add(item))
for (let i of arr) {
console.log(i) // 1 2 3 4 5
}
// 去重数组
const newData = [...new Set(data)] //
console.log(newData) // [1, 2, 3, 4, 5]
const newData1 = Array.from(new Set(data))
console.log(newData1) // [1, 2, 3, 4, 5]
// 注意:向 Set 加入值的时候,不会发生类型转换 NaN !== NaN
const newSet = new Set()
const a = NaN
const b = undefined
const c = 5
const d = '5'
newSet.add(a)
newSet.add(b)
newSet.add(c)
newSet.add(d)
console.log(newSet) // {NaN, undefined, 5,