阅读 3

数组差集&并集&交集

 数组的并集、交集、差集如何求解?有啥方法呢?首先要了解清楚它们对应的概念。准备小小案例,便于理解:

    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的数据形成新的数组返回。

上述就仅仅是每个问题的一种解答方案,当然这有可能不是最简单的,但我感觉对我来说是最容易的一种答案!希望有高手多多指点,共同进步吧!

关注下面的标签,发现更多相似文章
评论