如何制作JavaScript';而';环更优雅?
我做了一个JavaScript“while”循环,不断向数组中添加1到10的随机数,直到随机数为9或10如何制作JavaScript';而';环更优雅?,javascript,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.pus
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);
函数随机(){
返回Math.floor(Math.random()*(10))+1;
}
var数组=[];
var元素=0;
while(元素<9){
元素=随机();
if(元素<9){
array.push(元素);
}
}
console.log(数组);
我有两个问题
要回答第一个问题,您可以使用随机值初始化
元素
:
var element = random();
while (element < 9) {
array.push(element);
element = random();
}
您甚至不需要在外部声明它,或者在多个位置调用
random()
。您肯定需要while
循环,因为您在条件为真的情况下执行某些操作。尝试while((element=random())<9)array.push(element)
@Santi他们在循环中生成一个新的随机数,因此这是这个特定循环所需要的algorithm@AndrewLi我注意到了这一点并删除了我的评论,不过我想我应该重新排序random()
和.push
,将元素初始化为random()
,而不是0
。编辑:似乎是cᴏʟᴅsᴘᴇᴇᴅ 虽然尼特的答案可能是最好的,但他和我的建议是一样的。@NiettheDarkAbsol这是比我建议的更好的选择。我应该删除我的答案吗?@NiettheDarkAbsol这正是我想要的-一步完成作业并检查。谢谢
while ((var element = random()) < 9) {
array.push(element);
}