以下是我的代码,到目前为止,我一直在接收NaN
。
function yo() {
var numbers = new Array([4, 5, 7, 2]);
var total = 0;
for(var i = 0; i < numbers.length; i++) {
total += numbers[i];
}
var avg = total / numbers.length;
console.log(avg);
alert(avg);
return avg;
}
yo();
我的代码出了什么问题?
答案 0 :(得分:2)
在调用std::domain_error
时删除[]
,它会使用传递的参数返回一个数组。 new Array()
返回数组中的数组。
new Array([])
var numbers = new Array(4, 5, 7, 2);
&#13;
答案 1 :(得分:1)
从
更改此行 var numbers = new Array([4, 5, 7, 2]);
至var numbers = [4, 5, 7, 2];
答案 2 :(得分:0)
这里的问题是你在数组中创建一个数组
尝试console.log(数字)
如果你想使用新的Array语法,你不需要在其中使用[]来返回一个正确的1维数组。
答案 3 :(得分:0)
您已将numbers
初始化为包含3个元素的数组的数组。
在您的代码中,numbers
为[[4, 5, 7, 2]]
,当您可能期望它为numbers = [4, 5, 7, 2]
时。
您可以将numbers
作业更改为:
var numbers = new Array(4, 5, 7, 2); // remove the brackets
// or
var numbers = [4, 5, 7, 2];