我正在尝试解决任务。这是任务:
程序创建一个值为5的变量p和一个空数组的变量值。
使用循环填充程序,使用p填充数组,其中p在每次迭代结束时以-0.5和0.5之间的随机值递增(使用Math.random() - 0.5)。
当p为负数或大于10时停止循环。
我的代码是:
var p = 5;
var values = [];
while(p<10){
p=p+(Math.random() - 0.5);
values.push(p);
p++;
}
console.log(values);
但在线代码编辑器说它不正确。这就是它的含义:错误:你的数组中缺少596个值。 谁能帮我?我的错是什么?也许使用while循环是错误的方式? 在此先感谢您的帮助。
答案 0 :(得分:1)
var p = 5;
var values = [];
while(p <10 && p > -10){
p=p+(Math.random() - 0.5);
values.push(p);
}
console.log(values);
&#13;
答案 1 :(得分:0)
错误是您正在使用的代码编辑器。 我运行你的代码是没有错误和如果p ++被删除,那么循环将变成无限循环。
答案 2 :(得分:0)
你错过了检查是否p<0
,否则代码运行正常,p++
是不必要的,除非@Nkhangweni指出它只是消除了无限循环的可能性。
var p = 5;
var values = [];
while (p < 10 && p > 0) {
p = p + (Math.random() - 0.5);
values.push(p);
}
console.log(values);
答案 3 :(得分:0)
var p = 5;
var values = [];
while (true) {
p += (Math.random() - 0.5);
if (p >= 0 && p <= 10) {
values.push(p);
} else {
break;
}
}
console.log(values);