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;
              }
          }
      }
  }
}