在 JavaScript 中,如何求出两个数组的交集和差集? 两个任意元素的数组,比较出两个数组中相同的元素和不同的元素。

关注公众号【Miles】查看更多技术文档

目前的解法都有一些小问题啦。比如先转成 object hash 的话不能处理对象数组。
indexOf 则是有个永远对 NaN 返回 -1 的问题。

ES7 Array.prototype.includes (stage 2 proposal) 还算比较简洁:
let intersection = a.filter(v => b.includes(v))
let difference = a.concat(b).filter(v => !a.includes(v) || !b.includes(v))

你可能感兴趣的:(在 JavaScript 中,如何求出两个数组的交集和差集? 两个任意元素的数组,比较出两个数组中相同的元素和不同的元素。)