【问题标题】:Write a function that returns the average of all of the items in an array Javascript编写一个函数,返回数组 Javascript 中所有项目的平均值
【发布时间】:2016-08-03 02:23:43
【问题描述】:

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

我的代码有什么问题?

【问题讨论】:

  • 提示,new Array([4, 5, 7, 2]); 可能不是你想要的。

标签: javascript arrays function object


【解决方案1】:

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

var numbers = new Array(4, 5, 7, 2);

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();

【讨论】:

    【解决方案2】:

    更改此行

    var numbers = new Array([4, 5, 7, 2]);var numbers = [4, 5, 7, 2];

    【讨论】:

      【解决方案3】:

      你的问题是你在一个数组中创建一个数组

      试试 console.log(数字)

      如果您想使用新的 Array 语法,则不需要 [] 来返回正确的一维数组。

      【讨论】:

        【解决方案4】:

        您已将 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];
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多