Pre*_*kov 6 javascript arrays intersection lodash
我试图在多个数组中找到相交值,它们在一个对象中,如下所示:
object = {
filterA: ["1","2","3","4"],
filterB: ["2","5","6","7"],
filterN: ["2","4","7"]
}
Run Code Online (Sandbox Code Playgroud)
对象可以包含多个数组,键的名称可以不同。在描述的对象中,我只需要返回“2”。
我试图建立在这个答案的基础上:javascript 中的多数组交集,但我无法弄清楚,因为它使用静态变量 (a,b,c) 作为示例。如果有办法用 lodash 做到这一点,我们将不胜感激,但 ES 5 中的 vanilla javascript 也能做到!
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);Run Code Online (Sandbox Code Playgroud)