JavaScript获取两个数组交集的方法
不吃皮蛋 人气:0本文实例讲述了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程序设计有所帮助。
加载全部内容