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 ]