JSFiddle - React, Tailwind, and code Playground
HTML
<script src="http://alasql.org/console/alasql.min.js"></script>
<div id="res"></div>
JavaScript
var array1 = [ { id: "a", score: 1 }, { id: "b", score: 3 }, { id: "c", score: 8 }]
var array2 = [ { id: "a", score: 2 }, { id: "z", score: 5 }, { id: "c", score: 1 }]
var array3 = [ { id: "a", score: 3 }, { id: "f", score: 2 }, { id: "c", score: 2 }]
var res1 = alasql('SELECT id FROM ? \
INTERSECT SELECT id FROM ? \
INTERSECT SELECT id FROM ?',[array1,array2, array3]);
var res2 = alasql('SELECT one.* FROM ? one \
WHERE EXISTS(SELECT * FROM ? WHERE one.id = id) \
ORDER BY id',
[array1.concat(array2).concat(array3), res1]);
alasql('SELECT * INTO HTML("#res",{headers:true}) FROM ?',[res2]);