【面試題】求下面兩個數組的交集,並集,和差集【京東】

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

相關文章
相關標籤/搜索