在javascript中实现数组交集的最简单,无库代码是什么?我想写
intersection([1,2,3], [2,3,4,5])
并得到
[2, 3]
使用的组合Array.prototype.filter和Array.prototype.indexOf:
Array.prototype.filter
Array.prototype.indexOf
array1.filter(value => -1 !== array2.indexOf(value))
或者,如vrugtehagel在注释中建议的那样,您可以使用更新Array.prototype.includes的代码甚至更简单的代码:
Array.prototype.includes
array1.filter(value => array2.includes(value))
对于较旧的浏览器:
array1.filter(function(n) { return array2.indexOf(n) !== -1; });