本文实例讲述了JavaScript获取两个数组交集的方法。分享给大家供大家参考。具体如下:
这里传入的数组必须是已经排过序的
rush:js;">
/* 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程序设计有所帮助。
原文地址:https://www.jb51.cc/js/53980.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。