集合是什么?

  • 一种无序且唯一的数据结构。
  • ES6中有集合,名为Set
  • 集合的常用操作:去重,判断某元素是否在集合中、求交集。

去重:

  1. //去重
  2. const arr = [1,1,2,2];
  3. const arr2 = [...new Set(arr)];
  4. //判断某元素是否在集合中
  5. const set = new Set(arr);
  6. const has = set.has(3);
  7. //求交集
  8. const set2 = new Set([2,3]);
  9. const set3 = new Set([...set].filter(item=>set2.has(item)))

349 两个数组的交集

var intersection = function(nums1, nums2) {
      return [...new Set(nums1)].filter(n => nums.includes(n))
}

时间复杂度:O(m*n)
空间复杂度:O(m)