var result = arrays.shift().filter(function(v) {
return arrays.every(function(a) {
return a.indexOf(v) !== -1;
});
});
您可以首先对外部Array进行排序,以在开始时获得最短的Array …
arrays.sort(function(a, b) { return a.length - b.length;});为了完整起见,这是一个解决数组中重复项的解决方案。它使用
.reduce()代替
.filter()…
var result = arrays.shift().reduce(function(res, v) { if (res.indexOf(v) === -1 && arrays.every(function(a) { return a.indexOf(v) !== -1; })) res.push(v); return res;}, []);


