我正在尝试学习Javascript。我构建了以下代码,以从数字数组中找到平均值。除最后返回的值始终为NaN之外,它均有效。我不知道为什么。如果我将此块移出块,似乎完全忘记了变量和应该等于什么。我应该为JS使用某种等效的全局变量类型吗?

var average = function(myarray) {
    sum = 0;
    for (counter = 0; counter <= myarray.length; counter++) {
        sum = sum + myarray[counter];
        average = sum / myarray.length;
        console.log(average);
    };
}

average([1, 2, 3])

最佳答案

更改

counter <= myarray.length




counter < myarray.length


因为索引从0开始。

完整示例:

var average = function(myarray) {
  var sum = 0;
  for (var counter = 0; counter < myarray.length; counter++) {
    sum += myarray[counter];
   }

   return sum / myarray.length;
}

console.log(average([1,2,3]));


JSBin演示:http://jsbin.com/siyugi/1/edit

10-01 04:34
查看更多