js差集并集与交集

前端中去重已经很多了,但是工作中有时候遇到的情况是两个数组之间的对比
本文摘抄于知乎,详情见下方链接

const arr1 = [1,2,3,4,5];
const arr2 = [4,5,6,7,8];

1.交集

function union (arr1, arr2){
  return [...new Set(arr1)].filter((item) => new Set(arr2).has(item))
}

2.并集

function combine(arr1, arr2){
  return [...new Set([...new Set(arr1), ...new Set(arr2)])];
}

3.差集

function diff (arr1, arr2){
  const diffArr1 = [...new Set(arr1)].filter((item) => !new Set(arr2).has(item));
  const diffArr2 = [...new Set(arr2)].filter((item) => !new Set(arr1).has(item));
  return [...diffArr1, ...diffArr2]
}

窃以为结合reduce会更好用一些,这个以后再研究。
原文链接:https://zhuanlan.zhihu.com/p/262553053

以上。

js差集并集与交集

上一篇:Apache——配置与应用


下一篇:http包头