ES6 数组去重,求交并差集

905 阅读1分钟
主要涉及了 set,filter,has 的用法

var arr1=[1,2,3,45,6,3,6,3,4];
var arr2 = [2,4,6,6,3,6,7,8,9,9];
//并集
let arr3= [...new Set([...arr1,...arr2 ])];//[1, 2, 3, 45, 6, 4, 7, 8, 9]
//交集
let intersect = [arr1.filter(x => new Set(arr2).has(x))];
//[d,e,f]
//差集
let dfrcset = [arr1.filter(x => !new Set(arr2).has(x))];

Set()  :ES6中引入的新结构,不允许有重复的值。通过new Set()生成,可以接收一个数组为参数。
有add添加 ,delete删除, has判断是否拥有等方法。

filter 用于数组过滤,返回一个方法内为true的数组值