es6 数组取交集并集

2019-09-26  本文已影响0人  无名程序猿

ES6中使用Set结构:

let a = new Set([1, 2, 3]);
let b = new Set([3, 5, 2]); 

// 并集
let unionSet = new Set([...a, ...b]);
//[1,2,3,5]

// 交集
let intersectionSet = new Set([...a].filter(x => b.has(x)));
// [2,3]
// ab差集
let differenceABSet = new Set([...a].filter(x => !b.has(x)));
// [1]
// 再把Set转换为数组即可.let arr = Array.from(set);
// 或 let arr = [...set];
const dayCount = [0,1,2,3];
const weekCount = [1,2,4];
let a = new Set(dayCount);
let b = new Set(weekCount);
let intersectionSet = new Set([...a].filter(x => b.has(x)));
const  arr = [1,2,2,3,4] // 需要去重的数组
const  set = new Set(arr) // {1,2,3,4}
const  newArr = Array.from(set) // 再把set转变成array
上一篇 下一篇

猜你喜欢

热点阅读