JS取两个数组相同的元素

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]

编程技巧