JavaScript:循环中的随机数

时间:2017-04-30 21:56:02

标签: javascript

我想知道如何制作一个必须猜测正确数字的1-5循环,1-500。

每个循环都应该有一个新的唯一编号,以前没有被猜到过。但是它应该以随机顺序猜测。

是:

  

351,201,97 ......

没有

  

1,2,3,4,5,5 ...

到目前为止我的代码:

var number;

setInterval(function(){

number = Math.floor(Math.random() * 500) + 1;
console.log(number);

if (number == 350) {
console.log("Correct Number!")
}
}, 1000)

2 个答案:

答案 0 :(得分:1)

这是我尝试使用一个数字在500以上的数组上使用fisher yates shuffle来解决您的问题。

Copy items if needed

使用随机数进行猜测是通过使用所有可能数字的随机数来进行的,这意味着它不会被再次猜到。

答案 1 :(得分:-1)

您需要存储已经发出的数字。 如果你遇到了一个已经randomed的号码,那就再次随机。

var usedNumbers = [];
var interval = setInterval(function(){

    var number = Math.floor(Math.random() * 500) + 1;

    while(usedNumbers.includes(number)){
        number = Math.floor(Math.random() * 500) + 1;
    }
    usedNumbers.push(number);
    if (number == 350){
        console.log("Correct Number!");
        clearInterval(interval);
        return;
    }
    console.log(number);
}, 500)