用ES7解决数组集合操作

差集/并集/交集

const a = [1, 2, 3];
const b = [2, 4, 5];
// 并集
let union = a.concat(b.filter(v => !a.includes(v))) // [1,2,3,4,5]
// 交集
let intersection = a.filter(v => b.includes(v)) // [2]
// 差集
let difference = a.concat(b).filter(v => a.includes(v) && !b.includes(v)) // [1,3]

ES7新增的includes用于检查一个数组是否包含指定元素,它有第二个参数,指定从什么位置开始检查。

推荐阅读更多精彩内容