方案一:
function randomArr1(arr,num){
var result = [],
len = arr.length;
for(var i =0; i < len;i++){
var t = Math.floor(Math.random() * arr.length);
result.push(arr.splice(t,1)[0]);
}
if(num >= len) return result;
return result.slice(0,num);
}
方案二:
function randomArr2(arr,num){
var result = [],
len = arr.length;
for(var i =0; i < len;i++){
var t = Math.floor(Math.random() * arr.length);
result.push(arr[t]);
var left = arr.slice(0,t),
right = arr.slice(t + 1,arr.length);
arr = left;
arr.push.apply(arr,right);
}
if(num >= len) return result;
return result.slice(0,num);
}