seqlist
Version:
a package which includes the common method of sequence list ( array ), such as shuffle, topk, draw, binarySearch.
32 lines (25 loc) • 594 B
JavaScript
/**
* Created by a_wav on 2017/1/25.
*/
;
/**
* get n numbers randomly
* @param n
*/
function draw(arr,n) {
var len = arr.length;
var result = [];
if(n>len){
throw new Error('the argument must be less than the length of array');
}
for(var i=0,c,ll=len-1;i<n;++i,--ll){
c = Math.round(Math.random()*ll);
result.push(arr[c]);
var tmp = arr[c];
arr[c] = arr[ll];
arr[ll] = tmp;
//[arr[c],arr[ll]] = [arr[ll],arr[c]];
}
return result;
}
module.exports = draw;