生成四个没有重复的数字

时间:2017-05-12 23:26:10

标签: javascript random

我正在尝试为我正在为学校制作的基于文本的生存游戏生成四个不同的数字。我只是遇到了这个部分的问题我看了其他类似的问题,但他们想要四个数字,数字邮政编码和一堆其他花哨的东西。我只需要四个不同的数字。我这样做Math.random

>***'int event_W =(int)( Math.random()*10 + 1);

 int event_X =(int)( Math.random()*10 + 1);

 int event_Y =(int)( Math.random()*10 + 1);

 int event_Z =(int)( Math.random()*10 + 1);***

且数字不能大于10或小于0

2 个答案:

答案 0 :(得分:0)

您可以使用Math.random生成数字并继续检查新生成的数字是否已存在于数组中。

var arr = []
while(arr.length < 4){
   var randomnumber = Math.random()
   if(arr.indexOf(randomnumber) > -1) continue;
   arr[arr.length] = randomnumber;
}
console.log(arr)

答案 1 :(得分:0)

此函数将在最小值和最大值之间返回一组随机整数。

&#13;
&#13;
function getRandomInt(min, max) {
  min = Math.ceil(min);
  max = Math.floor(max);
  return Math.floor(Math.random() * (max - min)) + min;
}

function fetchRandomArray(min, max, num){
  var random = [];
  while(random.length < num){
    var randomNum = getRandomInt(min, max);
    if(random.indexOf(randomNum) < 0){
      random.push(randomNum);
    }
  }
  return random;
}

console.log(fetchRandomArray(1, 10, 4));
&#13;
&#13;
&#13;