我正在做一些非常简单的事情来检查随机数是否超过9999,因为我试图在0 - 9999之间进行随机返回,所以我有一个for循环来做一个简单的测试来运行但不知何故即使数字不是9999,它仍然会进入我的if语句和数字控制台。
我在这里失踪的是什么?
function setHiddenFields() {
let answer = Math.floor((Math.random() * 10000) + 1);
// console.log(typeof answer);
return answer;
}
for (let i = 0; i < 9999; i++){
if(setHiddenFields() > 9999){
console.log(setHiddenFields()); // returns 4389
}
}
它是随机的,有时会显示8167或只是不大于9999的随机数且仍为console.log
数字...
答案 0 :(得分:1)
首先将结果存储在变量中。
for (let i = 0; i < 9999; i++){
var result = setHiddenFields();
if(result > 9999){
console.log(result);
}
}
答案 1 :(得分:1)
你做了两次radom,一次用于if语句,然后另一次用于输出。 那就是你的代码如何运行:
for (let i = 0; i < 9999; i++){
if((Math.floor((Math.random() * 10000) + 1))> 9999){
console.log(Math.floor((Math.random() * 10000) + 1));
}
}
这就是你的实际目的:
for (let i = 0; i < 9999; i++){
var output=Math.floor((Math.random() * 10000)) + 1;
if(output> 9999){
console.log(output);
}
}