JavaScript 产生范围内不重复随机数

文章目录

    • 产生范围内随机数
    • 产生不重复随机数

产生范围内随机数

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;
		}
	}
}

你可能感兴趣的:(前端)