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
网友评论