javascript - Javascript 中的数组相交

标签 javascript node.js

我怎样才能INTERSECT Javascript 中的 N 个数组在相当快的时间内完成?

即。

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

结果: [4]

最佳答案

您可以对具有 Set 的常见元素采用交集函数。和 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));

关于javascript - Javascript 中的数组相交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51342120/

相关文章:

javascript - 在 html 中使用函数调用 - 好还是坏?

javascript - 返回结果会更改 javascript JSON 字符串中的数据

node.js - 从 Nodejs (seneca) 连接到 Google Cloud Datastore

node.js - 如何从nodejs中的远程url创建可读流?

mysql - 如何跨多个时区处理按日期分组的数据请求?

javascript - 根据日期比较更改innerHTML

javascript - 如何将转换后的字符串转换回数组?

javascript - JS中如何从父节点获取子节点的font-size?

node.js - Apollo/Graphql、Postgres - 为什么此查询返回空值?

javascript - 如何从 Electron 中的main.js调用另一个脚本中的函数