JavaScript获取两个数组交集的方法
本文实例讲述了JavaScript获取两个数组交集的方法。分享给大家供大家参考。具体如下:
这里传入的数组必须是已经排过序的
/*findstheintersectionof
*twoarraysinasimplefashion.
*
*PARAMS
*a-firstarray,mustalreadybesorted
*b-secondarray,mustalreadybesorted
*
*NOTES
*
*ShouldhaveO(n)operations,wherenis
*n=MIN(a.length(),b.length())
*/
functionarrayIntersection(a,b)
{
varai=0,bi=0;
varresult=newArray();
while(ai<a.length&&bi<b.length)
{
if(a[ai]<b[bi]){ai++;}
elseif(a[ai]>b[bi]){bi++;}
else/*they'reequal*/
{
result.push(a[ai]);
ai++;
bi++;
}
}
returnresult;
}
console.log(arrayIntersection([1,2,3],[2,3,4,5,6]));//[2,3]
希望本文所述对大家的javascript程序设计有所帮助。