我已经制作了一个JavaScript'while'循环,可以将1到10的随机数添加到数组中,直到随机数为9或10。
function random() {
return Math.floor(Math.random() * (10)) + 1;
}
var array = [];
var element = 0;
while (element < 9) {
element = random();
if (element < 9) {
array.push(element);
}
}
console.log(array);
我有两个问题。
如何在不使用(element&lt; 9)两次的情况下使'while'循环更优雅?
如何在不使用“while”循环的情况下以更优雅的方式执行此操作?
答案 0 :(得分:2)
要回答您的第一个问题,您可以使用随机值初始化element
:
var element = random();
while (element < 9) {
array.push(element);
element = random();
}
这摆脱了内在的if
。
要回答你的第二个问题,它并没有比这更优雅。如果你真的想要使用别的东西,你可以通过更改你的代码来使用do-while
,但实际上它是一样的。
更好的替代方案(我相信@NiettheDarkAbsol)就是执行任务并一步检查:
while ((var element = random()) < 9) {
array.push(element);
}
您甚至无需在外面宣布,也无需在多个地方拨打random()
。