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 相关文章推荐
写的htc的数据表格
Jan 20 Javascript
JavaScript实现的in_array函数
Aug 27 Javascript
JS实现从网页顶部掉下弹出层效果的方法
Aug 06 Javascript
JavaScript事件类型中UI事件详解
Jan 14 Javascript
详解JavaScript跨域总结与解决办法
Oct 31 Javascript
js实现文本上下来回滚动
Feb 03 Javascript
Vue用v-for给src属性赋值的方法
Mar 03 Javascript
vue之父子组件间通信实例讲解(props、$ref、$emit)
May 22 Javascript
node基于async/await对mysql进行封装
Jun 20 Javascript
vue实现移动端省市区选择
Sep 27 Javascript
基于js实现逐步显示文字输出代码实例
Apr 02 Javascript
JavaScript实现简单的音乐播放器
Aug 14 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
德生PL660的电路分析和打磨
2021/03/02 无线电
深入密码加salt原理的分析
2013/06/06 PHP
php中explode的负数limit用法分析
2015/02/27 PHP
PHP版本升级到7.x后wordpress的一些修改及wordpress技巧
2015/12/25 PHP
laravel model模型定义实现开启自动管理时间created_at,updated_at
2019/10/17 PHP
Prototype使用指南之base.js
2007/01/10 Javascript
JavaScript 学习笔记(十六) js事件
2010/02/01 Javascript
JQuery打造省市下拉框联动效果
2014/05/18 Javascript
零基础搭建Node.js、Express、Ejs、Mongodb服务器及应用开发入门
2014/12/20 Javascript
jQuery中andSelf()方法用法实例
2015/01/08 Javascript
js兼容火狐获取图片宽和高的方法
2015/05/21 Javascript
js window对象属性和方法相关资料整理
2015/11/11 Javascript
卸载安装Node.js与npm过程详解
2016/08/15 Javascript
vue时间格式化实例代码
2017/06/13 Javascript
微信小程序之页面跳转和参数传递的实现
2017/09/29 Javascript
[00:36]DOTA2上海特级锦标赛 LGD战队宣传片
2016/03/04 DOTA
python使用logging模块发送邮件代码示例
2018/01/18 Python
python 常见字符串与函数的用法详解
2018/11/23 Python
Python实现简单查找最长子串功能示例
2019/02/26 Python
Python3实现的简单三级菜单功能示例
2019/03/12 Python
pytorch 实现在预训练模型的 input上增减通道
2020/01/06 Python
Python双链表原理与实现方法详解
2020/02/22 Python
新手常见Python错误及异常解决处理方案
2020/06/18 Python
pandas apply多线程实现代码
2020/08/17 Python
PAUL HEWITT手表美国站:德国北部时尚生活配饰品牌,船锚元素
2017/11/18 全球购物
Laura官网:加拿大女性的顶级时尚目的地
2019/09/20 全球购物
澳洲最大的时尚奢侈品电商平台:Cettire
2020/06/15 全球购物
物控部经理职务说明书
2014/02/25 职场文书
教师党员公开承诺书
2014/03/25 职场文书
个人贷款承诺书
2014/03/28 职场文书
幼儿园家长寄语
2014/04/02 职场文书
演讲稿的格式及范文
2014/08/22 职场文书
生产工厂门卫岗位职责
2014/09/26 职场文书
医院护士党的群众路线教育实践活动对照检查材料思想汇报
2014/10/04 职场文书
基层医务人员三严三实心得体会
2016/01/05 职场文书
Redis 配置文件重要属性的具体使用
2021/05/20 Redis