我正在尝试学习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