当前位置: 首页 > news >正文

一个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;

 

转载于:https://www.cnblogs.com/leungUwah/p/9236590.html

相关文章:

  • JS对象的克隆
  • 作为面试官如何从深度和广度上考察面试者
  • 沃森想通过社交网络筛出最想要优惠券的人
  • 刨根问底 | Elasticsearch 5.X集群多节点角色配置深入详解【转】
  • 在word中输入任意角度旋转图片
  • python怎么写可读性好的面向过程的长篇代码?
  • 第一节:.Net版基于WebSocket的聊天室样例
  • Leetcode 28 实现strStr()
  • 小程序开发之改变data中数组或对象的某一属性值
  • 跟鱼八学NDK开发 基于Cmake(三) 使用含有第三方动态库的自己编译好的.so
  • MVC-Model数据注解(三)-Remote验证的一个注意事项
  • Go语言编写的web管理平台生成框架
  • 如何对高管实施股权激励?
  • 要让cordova项目适配iphoneX + ios11.4,总共要几步?三步
  • PhotoShop制作gif动态广告效果示例
  • 230. Kth Smallest Element in a BST
  • HTML5新特性总结
  • Javascripit类型转换比较那点事儿,双等号(==)
  • JavaScript对象详解
  • Web标准制定过程
  • 聊聊springcloud的EurekaClientAutoConfiguration
  • 容器服务kubernetes弹性伸缩高级用法
  • 三分钟教你同步 Visual Studio Code 设置
  • 实习面试笔记
  • 一起参Ember.js讨论、问答社区。
  • # Java NIO(一)FileChannel
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (转)fock函数详解
  • .net core webapi Startup 注入ConfigurePrimaryHttpMessageHandler
  • .net开发时的诡异问题,button的onclick事件无效
  • .stream().map与.stream().flatMap的使用
  • @DependsOn:解析 Spring 中的依赖关系之艺术
  • @RequestMapping 的作用是什么?
  • [⑧ADRV902x]: Digital Pre-Distortion (DPD)学习笔记
  • [C#7] 1.Tuples(元组)
  • [C++] Boost智能指针——boost::scoped_ptr(使用及原理分析)
  • [Hive] CTE 通用表达式 WITH关键字
  • [IDF]啥?
  • [JavaEE] 线程与进程的区别详解
  • [JavaWeb玩耍日记]Maven的安装与使用
  • [Latex学习笔记]数学公式基本命令
  • [LOJ161] 仙人掌计数
  • [MICROSAR Adaptive] --- Hello Adaptive World
  • [NOIP2007 普及组] 纪念品分组--贪心算法
  • [Oh My C++ Diary]怎样用cmd运行exe控制台程序
  • [python] logging输出到控制台(标准输出)
  • [SCOI2005]繁忙的都市
  • [Swift]RxSwift常见用法详解
  • [WinForm开源]概率计算器 - Genshin Impact(V1.0)
  • [创业之路-100] :结构工程师的角色划分与结构设计的流程
  • [翻译]TempDB剩余空间监视与纠错
  • [剪藏] - 由哇哈哈和农夫山泉所想到的
  • [每周一更]-(第51期):Go的调度器GMP