js取两个数组的交集

来源:互联网 发布:超融合云计算 编辑:程序博客网 时间:2024/06/07 03:24


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]
0 1