什么是集合

一种无序且唯一的数据结构。Es6中有集合叫Set

集合的常用操作:

  • 去重

    1. const arr = [1,1,22,22]
    2. const arr2 = [...new Set(arr)]
  • 判断某元素是否在集合中

    1. const arr = [1,1,22,22]
    2. const set = new Set(arr)
    3. const has = set.has(1)
  • 求交集

    1. const arr = [1,1,22,22]
    2. const set = new Set(arr)
    3. const set2 = new Set([2,3])
    4. const set3 = new Set([...set].filter(item => set2.has(item)))

leetcode 349

  1. /**
  2. * @param {number[]} nums1
  3. * @param {number[]} nums2
  4. * @return {number[]}
  5. * 时间复杂度O(m * n)
  6. * 空间复杂度O(n)
  7. */
  8. var intersection = function(nums1, nums2) {
  9. const set1 = new Set(nums1)
  10. const set3 = [...set1].filter(item=>{
  11. return nums2.includes(item)
  12. })
  13. return [...set3]
  14. };