使用JS找到数组的平均值。

10 浏览
0 Comments

使用JS找到数组的平均值。

我一直在查找,但在Stack Overflow上没有找到一个简单的问题和答案,来寻找一个数组的平均值。

这是我拥有的数组:

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. 有人能帮我找到一个数组的平均值吗?

0
0 Comments

问题的原因是在循环中,平均值不断被重写,所以最后的结果是最后一次计算的结果。同时,在代码中的除法和乘法操作抵消了彼此。

解决方法是将计算平均值的代码放在循环外部,以便在循环结束后得到正确的结果。另外,要确保在使用变量total之前对其进行初始化,以避免得到NaN的结果。

以下是修改后的代码:

let total = 0;
let grades = [90, 30, 40, 50, 60];
for (let i = 0; i < grades.length; i++) {
    total += grades[i];
}
let avg = total / grades.length;
console.log(avg);

现在,代码将正确计算出数组的平均值并输出。

0
0 Comments

问题的出现原因是为了找到一个使用JavaScript计算数组平均值的方法。解决方法是使用ES6的箭头函数和reduce方法来计算数组的总和,并将其除以数组的长度。

具体的解决方法如下:

1. 使用ES6箭头函数的一行代码解决方案:

const average = array => array.reduce((a, b) => a + b) / array.length;
console.log(average([1,2,3,4,5]));

2. 如果想将其作为独立的函数使用,需要在箭头函数的参数部分添加`(array)=>`,否则将被视为一个值而不是函数。正确的写法如下:

const average = (array) => array.reduce((a, b) => a + b) / array.length;
console.log(average([1,2,3,4,5]));

3. 有人提出了关于如何工作的更多问题,对于这个问题的解释涉及到JavaScript语法等内容,难以解释。但可以通过重新编写代码来更清楚地说明它的工作原理。示例代码如下:

myArray = [1,2,3,4];
myArray.reduce((total, current) => total + current) / myArray.length;

关键在于`reduce`函数会遍历`myArray`并将值累加到`total`中,然后返回`total`。

4. 还有一个改进的版本可参考链接:stackoverflow.com/a/72565782/75129

0
0 Comments

问题的出现原因:根据讨论中的内容,问题的出现原因是在计算数组的平均值时,使用了错误的求和方法。在原有的代码中,使用了简单的求和方法,即将数组中的所有元素相加,然后除以数组的长度。这种方法在计算平均值时会得到错误的结果。

解决方法:为了解决这个问题,可以使用JavaScript的reduce方法来正确地计算数组的平均值。在给定的代码中,通过使用reduce方法,将数组中的所有元素相加,然后将结果除以数组的长度,得到正确的平均值。这样就能够得到准确的结果。

下面是根据讨论中的内容整理的代码示例:

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

除了上述解决方法外,讨论中还提到了其他一些使用reduce方法的语法。例如,使用ES7的箭头函数语法可以简化代码。另外,还可以使用reduce方法的完整功能来计算平均值,即将每个元素除以数组长度,并将所有结果相加。

希望以上解决方法能够帮助您正确地计算数组的平均值。

0