zoukankan      html  css  js  c++  java
  • 一个JS多个数组取交集算法

    如题,多个数组中取交集(共同拥有元素),思路取第一个数组去跟每个数组中的元素对比,同时比较数据类型有救返回没有就返回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;
  • 相关阅读:
    数据库中Schema(模式)概念的理解
    git错误处理
    mysql存储过程
    bunyan
    golang 小问题
    操作系统
    数据库优化
    内存控制
    MySQL优化2
    mysql优化1
  • 原文地址:https://www.cnblogs.com/leungUwah/p/9236590.html
Copyright © 2011-2022 走看看