无法通过Javascript

时间:2017-03-05 07:16:38

标签: javascript

我正在尝试解决任务。这是任务:

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

4 个答案:

答案 0 :(得分:1)

&#13;
&#13;
  var p = 5;
  var values = [];

  while(p <10 && p > -10){
    p=p+(Math.random() - 0.5);
     values.push(p);
  }
 console.log(values);
&#13;
&#13;
&#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);