JavaScript 产生范围内不重复随机数
程序员文章站
2022-05-19 20:55:42
...
产生范围内随机数
min ≤ r ≤ max
//产生包含最小值和最大值的随机数
function RandomNum(Min,Max){
var num = Min + Math.round(Math.random() * (Max - Min));
return num;
}
min ≤ r < max
//产生包含最小值不包含最大值的随机数
function RandomNum(Min, Max) {
var num = Min + Math.floor(Math.random()* (Max - Min)); //舍去
return num;
}
min < r ≤ max
//产生不包含最小值包含最大值的随机数
function RandomNum(Min, Max) {
//如果产生了最小值则加一
if(Math.round(Math.random()* (Max - Min))==0){
return Min + 1;
}
var num = Min + Math.round(Math.random()* (Max - Min));
return num;
}
min < r < max
//产生不包含最小值和最大值的随机数
function RandomNum(Min, Max) {
//如果产生了最小值则加一
if(Math.round(Math.random() * (Max - Min))==0){
return Min + 1;
//如果产生了最大值则减一
}else if(Math.round(Math.random() * Max)==Max)
{
index++;
return Max - 1;
}else{
var num = Min + Math.round(Math.random() * (Max - Min)) - 1;
return num;
}
}
产生不重复随机数
//产生不重复随机数(5—20 5个)
//定义数组存储随机数
var arr = [];
for (var i = 0; i < 5; i++) {
arr[i] = RandomNum(5, 20); // 调用上面封装好的方法
for (var j = 0; j < i; j++) {
//如果重复则 i-- 重新产生一个
if(arr[i]==arr[j]){
i --;
break;
}
}
}
上一篇: ijkplayer框架深入剖析
下一篇: 9.30 总结一下九月呗