编写一个函数,返回数组Javascript中所有项的平均值

时间:2016-08-03 02:23:43

标签: javascript arrays function object

以下是我的代码,到目前为止,我一直在接收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();

我的代码出了什么问题?

4 个答案:

答案 0 :(得分:2)

在调用std::domain_error时删除[],它会使用传递的参数返回一个数组。 new Array()返回数组中的数组。

new Array([])

&#13;
&#13;
var numbers = new Array(4, 5, 7, 2);
&#13;
&#13;
&#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];