1、js生成不重复随机数解析,如下图所示;
//生成6个随机数0-100之间
var arr1=[];
function randomNum(){//生成随机数
var $num=Math.round(Math.random()*99);
if(arr1.indexOf($num)==-1){//去重
arr1.push($num);
}
if(arr1.length<6){//生成不重复的6位随机数,这里可以配置生成几位
randomNum();
}
}
randomNum();
var max1=Math.max.apply(null,arr1);
var min1=Math.min.apply(null,arr1);
document.write("这组数中的最大值是:"+max1+",最小值是:"+min1+"|"+arr1);
2、生成6位随机数0-100
//生成6个随机数0-100之间
var arr1=[];
function randomNum(){//生成随机数
var $num=parseInt(Math.ceil(Math.random()*99));
// if(arr1.indexOf($num)==-1){//去重
arr1.push($num);
// }
if(arr1.length<6){//生成6位随机数,这里可以配置生成几位
randomNum();
}
}
randomNum();
var max1=Math.max.apply(null,arr1);
var min1=Math.min.apply(null,arr1);
document.write("这组数中的最大值是:"+max1+",最小值是:"+min1+"|"+arr1);
此外,还可以循环方式,因为只需要生成一个6位数数组
var arr2=[];
for (var i=0;i<6;i++) {
var arrnum=parseInt(Math.ceil(Math.random()*33));
arr2.push(arrnum);
}
var max2=Math.max.apply(null,arr2);
var min2=Math.min.apply(null,arr2);
document.write("这组数中的最大值是:"+max2+",最小值是:"+min2+"|"+arr2);
小结:生成随机数,首选循环生成;如需生成不重复的随机数,可选调用同一函数生成;