gpt4 book ai didi

javascript - 在多个数组中查找交集

转载 作者:行者123 更新时间:2023-11-29 10:01:43 25 4
gpt4 key购买 nike

我正在尝试在一个对象内的多个数组中找到相交值,如下所示:

object = {
filterA: ["1","2","3","4"],
filterB: ["2","5","6","7"],
filterN: ["2","4","7"]
}

对象可以包含多个数组,键的名称可以不同。在所描述的对象中,我只需要返回“2”。

我尝试以这个答案为基础:Multiple array intersection in javascript但我无法弄清楚,因为它使用静态变量 (a,b,c) 作为示例。如果有办法用 lodash 做到这一点,我们将不胜感激,但 ES 5 中的普通 javascript 也可以!

最佳答案

您可以获得这些值并取 Set并使用 Set#has 进行过滤.

var object = { filterA: ["1", "2", "3", "4"], filterB: ["2", "5", "6", "7"], filterN: ["2", "4", "7"] },
result = Object
.values(object)
.reduce((a, b) => b.filter(Set.prototype.has, new Set(a)));

console.log(result);

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

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