es6 数组取交集并集

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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • [TOC] 参考阮一峰的ECMAScript 6 入门参考深入浅出ES6 let和const let和const都...
    郭子web阅读 1,857评论 0 1
  • 本文为阮一峰大神的《ECMAScript 6 入门》的个人版提纯! babel babel负责将JS高级语法转义,...
    Devildi已被占用阅读 2,042评论 0 4
  • 什么是ES6? ECMAScript 6.0 是继ECMAScript 5.1 之后 JavaScript 语...
    多多酱_DuoDuo_阅读 1,159评论 0 4
  • 最近一直在看es6新曾的一写数组的拓展,总结出了一些知识点 find,findIndex,inclueds Map...
    那谁与我无关a阅读 402评论 0 0
  • 转载:在开发中,数组的使用场景非常多,平日中也涉及到很多数组的api/相关操作,一直也没有对这块内容进行一块整理总...
    七色烟火阅读 3,303评论 0 3