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

  作者:bea

本文实例讲述了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 * *
本文实例讲述了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程序设计有所帮助。


有用  |  无用

猜你喜欢