一个JS多个数组取交集算法

如题,多个数组中取交集(共同拥有元素),思路取第一个数组去跟每一个数组中的元素对比,同时比较数据类型有救返回没有就返回null。算法

下面介绍到的算法数据格式是二维数组如:数组

const parentArray = [[11,12,343,34,432,34,4],[54,3,4,5,2,52],[34,2,3,23,423,234]]

算法明细:spa

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;
相关文章
相关标签/搜索