当我尝试再次运行该函数时,我的文件在第一轮循环中工作正常。当我尝试使用该值进行匹配时,它会显示上一个循环的上一个值,然后显示正确的值。如果我一次又一次运行该函数,它将继续保持先前生成的随机值的值。
for (var i=0; i<9; i++)
{
var ranD = Math.floor(Math.random()*33);
if (mathStar.indexOf(ranD)== -1) {
mathStar.push(ranD);
item[i].innerHTML = mathStar[i];
}
else {
i--;
}
itemVal[i].value = mathStar[i];
}
答案 0 :(得分:1)
在const
循环中使用let
和var
替换for
,以避免创建全局变量,并且--i
在代码中{{1} 1}}也用于i++
循环中。
答案 1 :(得分:0)
这是“ mathStar”的第一次出现吗?
如果这是您第一次使用mathStar,则意味着它是全局创建的,通常会引起混乱。在这种情况下,请查看this。
仅此来看,似乎您没有重置“ mathStar”值。这样,每次第n次运行此循环时,使用mathStar.push(...)添加到“ mathStar”的值也会出现在值列表中。