數組操作JS(Set)

交集

/**
 * @param {number[]} nums1
 * @param {number[]} nums2
 * @return {number[]}
 */
const intersection = (nums1, nums2) => {
  return [...new Set(nums1)].filter(item => (new Set(nums2).has(item)))
};

並集

/**
 * @param {number[]} nums1
 * @param {number[]} nums2
 * @return {number[]}
 */
const union = (num1, num2) => {
  return [...new Set([...num1,...num2])]
};

差集

/**
 * @param {number[]} nums1
 * @param {number[]} nums2
 * @return {number[]}
 */
const subtract = (num1, num2) => {
  const set1 = new Set(num1)
  const set2 = new Set(num2)
  return [...[...set1].filter(item => !set2.has(item)), ...[...set2].filter(item => !set1.has(item))]
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章