欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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;
		}
	}
}
相关标签: javascript