js中获得指定范围的n个不重复的随机数

Posted 老婆大人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js中获得指定范围的n个不重复的随机数相关的知识,希望对你有一定的参考价值。

function getarray(arr,num){

//复制数组,不能直接在原数组上修改

var temparr=new Array();

//遍历原数组

for(var i in arr){

//将原数组中数据一个个压入新数组中

temparr.push(arr[i]);

}

var returnarr=new Array();

for(var i=0;i<num;i++){

//判断数组是否还有可以取出的数字,防止下标越界

if(temparr.length>0){

//随机生成数字在temparr的长度范围内

var arrindex=Math,floor(Math.random()*temparr.length);

returnarr[i]=temparr[arrindex];

//删除此索引数组

temparr.splice(arrindex,1);

}else{

//退出循环

break;

}

}

return returnarr;

}

//测试

var  arrlist=[1,2,3,4,5,5,54,3,2,2,4,4,67,8,8,9,9,0,77,56];

alert(getarray(arrlist,7));

以上是关于js中获得指定范围的n个不重复的随机数的主要内容,如果未能解决你的问题,请参考以下文章

JS 在指定数组中随机取出N个不重复的数据

js从数组中随机获取n个不重复的数据

js指定范围指定个数的不重复随机数

JAVA随机数之多种方法从给定范围内随机N个不重复数

js从数组中取出n个不重复的数据

java中生成不重复随机数(据HashSet特性)