我想转换我当前的Angular reduce
函数,以计算基于每2-3个项目的移动平均线。这是否可以使用标准的Angular Reduce函数?
这是我目前必须计算的基本平均值,但如果可能的话,我想将其转换为可设置周期的移动平均值,但不确定如何/是否可以使用标准的Angular JS Reduce函数。
const data = [
{ val: 20 },
{ val: 15 },
{ val: 10 },
{ val: 12 },
{ val: 15 },
{ val: 09 },
{ val: 14 },
{ val: 17 },
{ val: 11 },
{ val: 15 }
]
var avg = data.reduce((accum, curVal) => accum + curVal.val, 0) / data.length;
console.log("avg= " + avg);
2条答案
按热度按时间cgyqldqp1#
如果我对这个问题的理解是正确的,你需要一个数组,它包含一组基于窗口的平均值,该窗口在数据中一次移动一个条目。下面是一个使用for循环的例子,请参阅注解以了解其工作原理:
同样的想法,但有一个reduce函数:
j1dl9f462#
可以使用slice函数获取数组的一部分