gpt4 book ai didi

javascript - 获取n个数组的交集

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:56:26 30 4
gpt4 key购买 nike

使用 ES6 的 Set,给定两个数组,我们可以像这样得到交集:

let a = new Set([1,2,3])
let b = new Set([1,2,4])
let intersect = new Set([...a].filter(i => b.has(i)));

我们如何得到n数组的交集?

更新:

对于以下用例,我正在努力解决这个问题。我有一个至少包含一个元素的二维数组。

parts.forEach(part => {
intersection = new Set()
})

如何获取部分中每个元素(数组)的交集?

最佳答案

假设你有一些函数 function intersect(set1, set2) {...}可以与两个集合相交,您可以使用 reduce 获得集合数组的交集:

function intersect(a, b) {
return new Set(a.filter(i => b.has(i)));
}

var sets = [new Set([1,2,3]), ...];
var intersection = sets.reduce(intersect);

关于javascript - 获取n个数组的交集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42604185/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com