【面试题】求下面两个数组的交集,并集,和差集【京东】

var firstArr = [1,2,3,4,5,6,7,8];
var secondArr = [6,7,8,9,10];
复制代码

解析:java

针对三个数组进行回答以下:git

let arr1 = [5,6,7];
let arr2 = [6,7,8];
let arr3 = [7,8,9];
//并集是所有的去重复
function bin_v1 (param1,param2,param3){
    let ret =  new Set([...param1,...param2,...param3]);
    return [...ret];
}
//交集是都有的部分
function jiao_v1(param1,param2,param3){
    return param1.filter((val)=>{
       return new Set(param2).has(val)
    }).filter((val)=>{
       return new Set(param3).has(val)
    });
} 
//并集减去交集是差集
function cha_v1(param1,param2,param3){
   return bin_v1(param1,param2,param3).filter((val)=>{
        return jiao_v1(param1,param2,param3).indexOf(val) === -1;
    })
}
bin_v1(arr1,arr2,arr3)
jiao_v1(arr1,arr2,arr3);
cha_v1(arr1,arr2,arr3);
复制代码

引自:github.com/tsingjing/i…github

相关文章
相关标签/搜索