小编典典

javascript中数组交集的最简单代码

all

在 javascript 中实现数组交集的最简单、无库的代码是什么?我想写

intersection([1,2,3], [2,3,4,5])

并得到

[2, 3]

阅读 185

收藏
2022-03-01

共1个答案

小编典典

使用Array.prototype.filter和的组合Array.prototype.includes

const filteredArray = array1.filter(value => array2.includes(value));

对于较旧的浏览器,带有Array.prototype.indexOf和不带有箭头功能:

var filteredArray = array1.filter(function(n) {
    return array2.indexOf(n) !== -1;
});

注意!两者.includes.indexOf内部都使用
比较数组中的元素===,因此如果数组包含对象,它将仅比较对象引用(而不是它们的内容)。如果要指定自己的比较逻辑,请Array.prototype.some改用。

2022-03-01