利用es6中的新的数据机构set实现两个数组的并集 交集 差集
var arr1=[1,2,3,4]; var arr2=[3,4,5,6];
得出两个数组的并集
function combine_arr(arr1,arr2){
return […new Set([…arr1,…arr2])];
}
console.log(combine_arr(arr1,arr2));//[1,2,3,4,5,6]
得出两个数组的交集
function intersection_arr(arr1,arr2){
return arr1.filter( value => new Set(arr2).has(value) )
}
console.log(intersection_arr(arr1,arr2));//[3,4]
得出两个数组的差集
function difference_set(arr1,arr2){
return combine_arr(arr1,arr2).filter( value => !new Set(intersection_arr(arr1,arr2)).has(value))
}
console.log(difference_set(arr1,arr2)); //[1,2,5,6]