总的来说,我正在尝试制作一个带有用户标记的程序,然后吐出均值和中位数。这是我计算机科学课程中的一项作业。

由于某些原因,当我写该行时,console.log(avg);它显示NaN而不是avg变量的值。我在代码的其他地方做错了吗?

这是我其余的代码:

var userMarks = [];
for (var counter = 0; counter < 3; counter++) {
    userMarks.push(prompt("What is your mark?"));
}
console.log(userMarks);


var sum = 0;
for (var i = 0; i < userMarks.length; i++) {
    sum += parseInt(userMarks[i], 3);
}

var avg = sum / userMarks.length;
console.log(avg);

最佳答案

parseInt()取一个radix as a second parameter,当您可能表示10时,您指定了3。

sum += parseInt(userMarks[i], 10);


jsFiddle example


  radix-2到36之间的整数,代表基数(基数
  (在数学数字系统中)。
  为人类常用的十进制数字指定10。
  始终指定此参数以消除读者的困惑并
  保证行为可预测。不同的实现产生
  如果未指定基数,则结果不同。

关于javascript - 为什么我的代码不将变量的值打印到控制台?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28744983/

10-10 00:25