如何使JavaScript'while'循环更优雅?

时间:2017-07-03 18:51:42

标签: javascript

我已经制作了一个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);

我有两个问题。

  1. 如何在不使用(element&lt; 9)两次的情况下使'while'循环更优雅?

  2. 如何在不使用“while”循环的情况下以更优雅的方式执行此操作?

1 个答案:

答案 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()