//  https://medium.com/@alvaro.saburido/set-theory-for-arrays-in-es6-eb2f20a61848

arrA=[1,3,4,5]
arrB=[1,2,5,6,7]


let intersection = arrA.filter(x => arrB.includes(x)); // [1,5]
let difference = arrA.filter(x => !arrB.includes(x)); // [3,4]

// symetrical diff [2,3,4,6,7]
let difference = arrA
                 .filter(x => !arrB.includes(x))
                 .concat(arrB.filter(x => !arrA.includes(x)));
                 
                 
let union = [...new Set([...arrA, ...arrB)]; // [1,2,3,4,5,6,7]