目前的解法都有一些小问题啦。比如先转成 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))
网友评论