JSFiddle - React, Tailwind, and code Playground
JavaScript
console.log(findIntersection({
a: [ 15, 23, 36, 49, 104, 211 ],
b: [ 9, 12, 23 ],
c: [ 11, 17, 18, 23, 38 ],
d: [ 13, 21, 23, 27, 40, 85]
}));
function findIntersection(obj) {
var counts = {};
var keys = Object.keys(obj);
var arr, el;
for (var k = 0; k < keys.length; k++) {
arr = obj[keys[k]];
for (var i = 0; i < arr.length; i++) {
el = arr[i];
if (counts[el] === undefined) {
// new value, start counting
counts[el] = 1;
} else {
// increment count for this value
counts[el]++;
// if we have as many values as keys, we're done
if (counts[el] === keys.length) {
return el;
}
}
}
}
}