从长度为m的数组arr中取n个数的结合

从长度为m的数组arr中取n个数的组合
RT, 用js怎么实现,例如从arr=[1,3,5]中取2个数的组合,要求输出结果为[[1,3],[1,5],[3,5]]
------解决思路----------------------
http://blog.****.net/huangkangying/article/details/6867295
function AAA(array,M){
var N=array.length;
var top=0,queue=[],flag=[],arr=[],_arr=[];
function comb(s, n, m)
 {
     var i;
 
     if (s > n)
         return ;
 
     if (top == m)
     {
         for (i = 0; i < m; i++)
         {_arr.push(queue[i]);
         }
arr.push(_arr)
_arr=[]
         return ;
     }
 
     queue[top++] = array[s];
     comb(s+1, n, m);
     top--;
     comb(s+1, n, m);
 }
comb(0, N, M);
return arr
}

AAA([1,3,5],2)