如何用 JavaScript 算出数组的平均数?

2023年2月11日

💎 加入 E+ 成長計畫 與超過 300+ 位軟體工程師一同在社群中成長,並且獲得更多的軟體工程學習資源

在入门的 JavaScript 面试中,很常会出现数组操作的考题,来确保申请者有基本的 JavaScript 能力,算出数组平均数,即是很常考的。给定一个含有数字的数组,例如 [10, 20, 30, 40, 50],写一个函式来计算这个数组的平均数。

这篇会提供两个解法:

  • 基本的 for 回圈 (for loop) 解法
  • 函式编程 (functional programming) 的解法

for 回圈 (for loop) 解法

function getAverage(array) {
  let sum = 0;
  for (let i = 0; i < array.length; i++) {
    sum += array[i];
  }
  return sum / array.length;
}

上面这段代码的逻辑如下:

  1. 先宣告一个 sum
  2. 透过 for 回圈迭代过数组,并在迭代的过程中把每个数字加起来,最后会得到加总
  3. 在加总后再除以数组的长度 (数组的长度代表有几个数字在数组当中),就会得到平均数

函式编程 (functional programming) reduce 解法

在这一题的面试中,面试官可能会进一步追问你会不会用函式编程的方法来解这一题。下面我们可以透过 reduce 这个 JavaScript 内建的数组方法实践:

  1. 透过 reduce 来迭代过数组的每一个数字
  2. 在迭代的过程中把每个 currentValue 都加总起来
  3. 最后再将结果除以数组长度,即会得到平均数
const getAverage = (array) =>
  array.reduce((sum, currentValue) => sum + currentValue, 0) / array.length;
🧵 如果你想收到最即時的內容更新,可以在 FacebookInstagram 上追蹤我們