Set 基本用法

1、Set 类似于数组,但是其成员的值都是唯一的,没有重复的值

2、Set 本身是一个构造函数,用来生成 Set 数据结构

const s = new Set()

[2, 3, 5, 4, 5, 2, 2].forEach(x => s.add(x))

for (let i of s) {
  console.log(i)
}

// 2 3 5 4

上面代码通过 add() 方法向 Set 结构加入成员,结果表明 Set 结构不会添加重复的值。

3、Set 可以接受一个数组(或者具有 iterable 接口的其他数据结构)作为参数,用来初始化

// example 1
const set = new Set([1, 2, 3, 4, 4])
[...set]
// [1, 2, 3, 4]

// example 2
const items = new Set([1, 2, 3, 4, 5, 5, 5, 5])
items.size // 5

// example 3
const set = new Set(document.querySelectorAll('div'))
set.size // 56

// same as:
const set = new Set()
ducoment
  .querySelectorAll('div')
  .forEach(div => set.add('div'))

set.size //56

上面的代码中, example 1example 2 都是 Set 函数接受数组作为参数,例三是接受类似数组的对象作为参数

4、向 Set 加入值的时候,不会发生类型转换,所以 5'5' 是两个不同的值

6、向 Set 加入对象时,认为两个对象总是不相等

Last updated