我正在尝试解决一个任务,这是任务:

该程序创建一个值为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循环是错误的方式?
在此先感谢您的帮助。

最佳答案

您错过了检查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);

10-05 20:47
查看更多