当前位置: 首页 > 知识库问答 >
问题:

使用JS[duplicate]查找数组的平均值

司寇阳曦
2023-03-14

我一直在寻找,没有找到一个简单的问题和答案堆栈溢出寻找一个数组的平均值。

这是我的阵列

const grades = [80, 77, 88, 95, 68];

我最初以为这个问题的答案是这样的:

let avg = (grades / grades.length) * grades.length
console.log(avg)

然而,这给了我一个NaN的输出。

然后我尝试了这个:

for (let grade of grades)
    avg = (grade / grades.length) * grades.length
console.log(avg)

这给了我68的输出。(我不知道为什么)。

所以我有两个问题。1。为什么我的输出是68?和2。有人能帮我找到数组的平均值吗?

共有3个答案

景令秋
2023-03-14

对于问题的第二部分,您可以使用减少来达到良好的效果:

js prettyprint-override">const grades = [80, 77, 88, 95, 68];

function getAvg(grades) {
  const total = grades.reduce((acc, c) => acc + c, 0);
  return total / grades.length;
}

const average = getAvg(grades);
console.log(average);
倪炎彬
2023-03-14

通过将所有元素相加,然后除以元素数,计算平均值。

var total = 0;
for(var i = 0; i < grades.length; i++) {
    total += grades[i];
}
var avg = total / grades.length;

你得到68作为结果的原因是,在循环中,你不断覆盖你的平均值,所以最终的值将是你上次计算的结果。还有你的分数除法和乘法。长度相互抵消。

霍财
2023-03-14

使用ES6,您可以将Andy的解决方案转化为一行:

const average = (array) => array.reduce((a, b) => a + b) / array.length;
console.log(average([1,2,3,4,5]));
 类似资料:
  • 我正在尝试使用用户输入将数字放入一个数组,然后找到这些数字的平均值,也找到哪些数字大于平均值。这些数字进入一个数组,但当我试图求平均数时,我无法求出平均数,以及哪些数字大于平均数,因为对于试图求出大于平均数的数字的部分,并非所有变量都是可见的。但是,当我允许这个部分看到所有的变量(don't But{}围绕某些部分)时,它会找到每一个数的平均值。现在,它为每个数字打印平均值,而为大于平均值的数字打

  • 正如标题所示,我需要做的是使用for循环计算数组的平均值。我所说的平均值是指

  • 我试图理解新的Java8流API。 http://docs.oracle.com/javase/tutorial/collections/streams/reduction.html 我找到了使用collect API查找数字平均值的示例。但我觉得,使用reduce()也可以做到这一点。

  • 问题内容: 我必须在Python中找到列表的平均值。到目前为止,这是我的代码 我已经知道了,所以它可以将列表中的值相加,但是我不知道如何将其划分为它们? 问题答案: 在Python 3.4+上,你可以使用 statistics.mean() 在旧版本的Python上,你可以执行 在Python 2上,你需要转换len为浮点数才能进行浮点数除法 无需使用。它慢得多,并已在Python 3 中删除。

  • 希望这对你来说是有意义的,我很乐意更详细地解释这个问题。

  • 这是我的第一篇帖子。我正在编写一个程序,从四个输入框中获取输入,求出这四个输入框的总和,并求出平均值。当我这样做的时候,我得到了一个错误,有人能指出我哪里出了错。谢谢