美文网首页
es6 数组取交集并集

es6 数组取交集并集

作者: 无名程序猿 | 来源:发表于2019-09-26 14:29 被阅读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

相关文章

网友评论

      本文标题:es6 数组取交集并集

      本文链接:https://www.haomeiwen.com/subject/hlkoectx.html