首页 > 解决方案 > Javascript中的相交数组

问题描述

如何在相当快的时间内用 Javascript 编写INTERSECT N数组?

IE。

arr1 = [1,2,3,4,5];
arr2 = [1,2,3,4];
arr3 = [4];
arr4 = [4,5];

结果: [4]

标签: javascriptnode.js

解决方案


您可以使用 aSet和为常见元素使用交集函数Array#filter

function common(a, b) {
    return b.filter(Set.prototype.has.bind(new Set(a)));
}

console.log([[1, 2, 3, 4, 5], [1, 2, 3, 4], [4], [4, 5]].reduce(common));


推荐阅读