数组的并集、交集、差集如何求解?有啥方法呢?首先要了解清楚它们对应的概念。准备小小案例,便于理解:
let arr1 = [1,2,3,4]
let arr2 = [3,4,5,6]
并集:[1,2,3,4,5,6]
交集:[3,4]
差集:arr1-arr2 = [1,2]; arr2-arr1 = [5,6]
一、数组并集
并集的实现应该这里是最最简单的一个问题啦!在这里就直接提供一种方法,尽可能的使用了Set对象,利用它将每个数组中的重复数据都去除一下。

这里并未传递参数,原因是定义的数组是全局变量,不传递参数也是OK的,下面提供传递参数的代码。
let arr1 = [1, 2, 3, 4]
let arr2 = [3, 4, 5, 6]
function union(arr1,arr2) {//注意到了参数传递问题
let s1 = new Set(arr1)
let s2 = new Set(arr2)
let s = new Set([...s1, ...s2])
return [...s]
}
console.log(union(arr1,arr2))//[1,2,3,4,5,6]
二、数组交集
数组交集就是找出两个数组的公共部分,用到了Set和filter等方法。Set对象同样是去除重复数据,利用filter方法找出符合条件的数据返回新的数组。

三、数组差集
数组差集就是找出一个数组中有,而另一个数组中不存在的数据返回,得到新的数组。filter方法判断得到true或者说false,将满足条件的得到true的数据形成新的数组返回。
