javascript - 如何使用 reduce 计算多个数组的交集?
问题描述
例子:
myArray = [[1,2,3,4],
[2,3,4,5],
[3,4,5,6]
];
预期输出:
newArray = [3,4]
如何使用所有 3 个数组中的值生成一个新数组?
解决方案
在归约时,返回累加器与当前迭代的子数组的交集:
const myArray = [[1,2,3,4], [2,3,4,5], [3,4,5,6]];
const intersection = myArray.reduce((a, arr) => (
a.filter(num => arr.includes(num))
));
console.log(intersection);
推荐阅读
- python - 附加 RTF 格式样式
- reactjs - TS 错误:“JSX.IntrinsicElements”类型上不存在属性“./PresentationAttributesForm”
- pm2 - pm2 monit - 有没有办法清除全局日志?
- php - 如果回显,如何使用 php 在我的服务器上获取图像
- r - R:在 dplyr::mutate() 中评估时具有不同输出的相同功能
- mysql - 设置 Node.js 和 MySQL 的正确方法是什么?
- android - Android Studio 3.2 中是否删除了 textAlignment 属性?
- mysql - 如何按 created_date 和 updated_date 对数据进行排序
- python - 尝试从 iPython 运行脚本时出现语法错误
- javascript - 如何在同一个 node.js 文件中使用 mongo changestreams 和 ws websockets?