一個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;
相關文章
相關標籤/搜索