概念

集合是一种无序且唯一的数据结构
栈和链表是有序的,且允许有重复的元素
ES6中有集合,名为Set
集合的常用操作:去重、判断某元素是否存在集合中、求交集

代码实现

去重

  1. const arr = [1, 1, 2, 2]
  2. const arrSet = new Set(arr)
  3. console.log(arrSet);
  4. console.log(Array.from(arrSet))
  5. console.log([...arrSet])

image.png

判断某元素是否存在集合中

  1. const arr = [1, 1, 2, 2]
  2. const arrSet = new Set(arr)
  3. console.log(arrSet.has(1)) // true
  4. console.log(arrSet.has(3)) // false

求交集

  1. const set1 = new Set([1, 2, 3])
  2. const set2 = new Set([2, 3, 4])
  3. const unite = [...set1].filter(item => set2.has(item))
  4. console.log(unite) // [ 2, 3 ]
  5. console.log(new Set(unite)) // Set { 2, 3 }