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 ]

以上是 JavaScript 中数字数组的实时移动平均值 的全部内容, 来源链接: utcz.com/z/358252.html

回到顶部