JavaScript 中陣列數字的即時移動平均


問題

我們需要編寫一個 JavaScript 函式來接收一個數組。我們的函式應該構造一個新陣列,其中儲存輸入陣列元素的移動平均值。例如 -

[1, 2, 3, 4, 5] → [1, 1.5, 3, 5, 7.5]

第一個元素是第一個元素的平均值,第二個元素是前 2 個元素的平均值,第三個元素是前 3 個元素的平均值,依此類推。

示例

以下是程式碼 -

 演示

const arr = [1, 2, 3, 4, 5];
const movingAverage = (arr = []) => {
   const res = [];
   let sum = 0;
   let count = 0;
   for(let i = 0; i < arr.length; i++){
      const el = arr[i];
      sum += el;
      count++;
      const curr = sum / count;
      res[i] = curr;
   };
   return res;
};
console.log(movingAverage(arr));

輸出

以下是控制檯輸出 -

[ 1, 1.5, 2, 2.5, 3 ]

更新於: 20-4-2021

873 次瀏覽

開啟你的 職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.