如题,多个数组中取交集(共同拥有元素),思路取第一个数组去跟每个数组中的元素对比,同时比较数据类型有救返回没有就返回null。
下面介绍到的算法数据格式是二维数组如:
const parentArray = [[11,12,343,34,432,34,4],[54,3,4,5,2,52],[34,2,3,23,423,234]]
算法明细:
var arr = arrs.shift(); for(var i=arrs.length;i--;){ var p = {"boolean":{}, "number":{}, "string":{}}, obj = []; arr = arr.concat(arrs[i]).filter(function (x) { var t = typeof x; return !((t in p) ? !p[t][x] && (p[t][x] = 1) : obj.indexOf(x) < 0 && obj.push(x)); }); if(!arr.length) return null; } return arr;