交集
/**
* @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))]
};