JavaScript获取两个数组交集的方法


Posted in Javascript onJune 09, 2015

本文实例讲述了JavaScript获取两个数组交集的方法。分享给大家供大家参考。具体如下:

这里传入的数组必须是已经排过序的

/* finds the intersection of 
 * two arrays in a simple fashion. 
 *
 * PARAMS
 * a - first array, must already be sorted
 * b - second array, must already be sorted
 *
 * NOTES
 *
 * Should have O(n) operations, where n is 
 *  n = MIN(a.length(), b.length())
 */
function arrayIntersection(a, b)
{
 var ai=0, bi=0;
 var result = new Array();
 while( ai < a.length && bi < b.length )
 {
   if (a[ai] < b[bi] ){ ai++; }
   else if (a[ai] > b[bi] ){ bi++; }
   else /* they're equal */
   {
    result.push(a[ai]);
    ai++;
    bi++;
   }
 }
 return result;
}
console.log(arrayIntersection([1,2,3],[2,3,4,5,6]));//[2,3]

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
JQuery 学习笔记 选择器之三
Jul 23 Javascript
从数据结构的角度分析 for each in 比 for in 快的多
Jul 07 Javascript
简单的两种Extjs formpanel加载数据的方式
Nov 09 Javascript
js 实现菜单上下显示附效果图
Nov 21 Javascript
购物车选中得到价格实现示例
Jan 26 Javascript
js实现div弹出层的方法
Nov 20 Javascript
es6学习笔记之Async函数基本教程
May 11 Javascript
详解Vue用自定义指令完成一个下拉菜单(select组件)
Oct 31 Javascript
vue router动态路由下让每个子路由都是独立组件的解决方案
Apr 24 Javascript
vue移动端实现红包雨效果
Jun 23 Javascript
Vue+webpack项目配置便于维护的目录结构教程详解
Oct 14 Javascript
基于js判断浏览器是否支持webGL
Apr 18 Javascript
JavaScript实现函数返回多个值的方法
Jun 09 #Javascript
JavaScript中的getDay()方法使用详解
Jun 09 #Javascript
JavaScript中用getDate()方法返回指定日期的教程
Jun 09 #Javascript
JavaScript的Date()方法使用详解
Jun 09 #Javascript
Javascript监视变量变化的方法
Jun 09 #Javascript
简介JavaScript中的unshift()方法的使用
Jun 09 #Javascript
JavaScript中的splice()方法使用详解
Jun 09 #Javascript
You might like
使用PHP生成图片的缩略图的方法
2015/08/18 PHP
PHP实现添加购物车功能
2017/03/06 PHP
老生常谈PHP中的数据结构:DS扩展
2017/07/17 PHP
深入解析Laravel5.5中的包自动发现Package Auto Discovery
2017/09/13 PHP
PHP实现的获取文件mimes类型工具类示例
2018/04/08 PHP
JavaScript窗口功能指南之在窗口中书写内容
2006/07/21 Javascript
走出JavaScript初学困境—js初学
2008/12/29 Javascript
菜鸟javascript基础整理1
2010/12/06 Javascript
基于jQuery实现左右div自适应高度完全相同的代码
2012/08/09 Javascript
javascript真的不难-回顾一下基础知识
2013/01/15 Javascript
vue-cli如何添加less 以及sass
2017/07/06 Javascript
JavaScript防止全局变量污染的方法总结
2018/08/02 Javascript
nuxt框架中对vuex进行模块化设置的实现方法
2019/09/06 Javascript
vue实现整屏滚动切换
2020/06/29 Javascript
[04:36]DOTA2国际邀请赛 ti3精彩集锦
2013/08/19 DOTA
[01:00:44]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第三局
2016/03/04 DOTA
[01:08:00]Fnatic vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python里大整数相乘相关技巧指南
2014/09/12 Python
PyCharm 常用快捷键和设置方法
2017/12/20 Python
Python实现matplotlib显示中文的方法详解
2018/02/06 Python
Python爬虫实现简单的爬取有道翻译功能示例
2018/07/13 Python
Python中的 is 和 == 以及字符串驻留机制详解
2019/06/28 Python
在jupyter notebook 添加 conda 环境的操作详解
2020/04/10 Python
美国第二大连锁书店:Books-A-Million
2017/12/28 全球购物
一套带答案的C++笔试题
2014/01/10 面试题
雅虎笔试题(字符串操作)
2015/03/24 面试题
PyQt 如何创建自定义QWidget
2021/03/24 Python
实习生自荐信范文分享
2013/11/27 职场文书
学生自我鉴定
2013/12/18 职场文书
《听鱼说话》教学反思
2014/02/15 职场文书
运动会通讯稿200字
2014/02/16 职场文书
安全口号大全
2014/06/21 职场文书
2014年个人业务工作总结
2014/11/17 职场文书
2015年幼儿园中班工作总结
2015/04/25 职场文书
Memcached介绍及php-memcache扩展安装
2021/04/01 PHP
Rhit高效可视化Nginx日志查看工具
2021/11/01 Servers