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 checkbox全选/取消全选实现代码
Nov 14 Javascript
基于jquery实现拆分姓名的方法(纯JS版)
May 08 Javascript
Javascript实现滚动图片新闻的实例代码
Nov 27 Javascript
网页广告中JS代码的信息监听示例
Apr 02 Javascript
Node.js实现在目录中查找某个字符串及所在文件
Sep 03 Javascript
js倒计时显示实例
Dec 11 Javascript
ECMAScript6 新特性范例大全
Mar 24 Javascript
SpringMVC简单整合Angular2的示例
Jul 31 Javascript
vue的一个分页组件的示例代码
Dec 25 Javascript
layer.open 按钮的点击事件关闭方法
Aug 17 Javascript
微信小程序解析富文本过程详解
Jul 13 Javascript
小程序如何写动态标签的实现方法
Feb 05 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读取XML值的代码(推荐)
2011/01/01 PHP
PHP中使用mktime获取时间戳的一个黑色幽默分析
2012/05/31 PHP
php导出生成word的方法
2015/12/25 PHP
Yii2中hasOne、hasMany及多对多关联查询的用法详解
2017/02/15 PHP
老生常谈文本文件和二进制文件的区别
2017/02/27 PHP
PHP+Apache环境中如何隐藏Apache版本
2017/11/24 PHP
Laravel 实现关系模型取出需要的字段
2019/10/10 PHP
dojo 之基础篇
2007/03/24 Javascript
javascript 去字符串空格终极版(支持utf8)
2009/11/14 Javascript
判断客户浏览器是否支持cookie的示例代码
2013/12/23 Javascript
多种方法实现360浏览器下禁止自动填写用户名密码
2014/06/16 Javascript
浅谈js 闭包引起的内存泄露问题
2015/06/22 Javascript
js焦点文字滚动效果代码分享
2015/08/25 Javascript
javascript中Date format(js日期格式化)方法小结
2015/12/17 Javascript
js+css实现回到顶部按钮(back to top)
2016/03/02 Javascript
限制复选框最多选择项的实现代码
2016/05/30 Javascript
[原创]javascript typeof id==='string'?document.getElementById(id):id解释
2016/11/02 Javascript
不到200行 JavaScript 代码实现富文本编辑器的方法
2018/01/03 Javascript
基于打包工具Webpack进行项目开发实例
2018/05/29 Javascript
vue+egg+jwt实现登录验证的示例代码
2019/05/18 Javascript
laypage+SpringMVC实现后端分页
2019/07/27 Javascript
JS中封装axios来管控api的2种方式
2019/09/11 Javascript
微信小程序自定义波浪组件使用方法详解
2019/09/21 Javascript
Vue请求java服务端并返回数据代码实例
2019/11/28 Javascript
[01:12]快闪回顾DOTA2亚洲邀请赛(DAC) 静候2018新征程开启
2018/03/11 DOTA
[55:03]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第二场 11.20
2020/11/20 DOTA
Python实现爬取知乎神回复简单爬虫代码分享
2015/01/04 Python
Python实现公历(阳历)转农历(阴历)的方法示例
2017/08/22 Python
解决pycharm py文件运行后停止按钮变成了灰色的问题
2018/11/29 Python
详解如何减少python内存的消耗
2019/08/09 Python
pytorch中的transforms模块实例详解
2019/12/31 Python
Python常用编译器原理及特点解析
2020/03/23 Python
基于django和dropzone.js实现上传文件
2020/11/24 Python
李维斯牛仔裤英国官方网站:Levi’s英国
2019/10/10 全球购物
Html5页面播放M4a音频文件
2021/03/30 HTML / CSS
MySQL中出现乱码问题的终极解决宝典
2021/05/26 MySQL