gpt4 book ai didi

rxjs - 使用 rxjs 5 运行平均值

转载 作者:行者123 更新时间:2023-12-04 22:56:24 26 4
gpt4 key购买 nike

我想用 rxjs ^5 观察滚动平均值

半解

const data$ = Rx.Observable.range(1, 9);
const dataToAverage$ = data$.bufferCount(4, 1);
const movingAverage$ = dataToAverage$.map(arr =>
arr.reduce((acc, cur) => acc + cur) / arr.length);
  • 上面的代码工作正常,除了它平均的第一个数据数组是 1,2,3,4 .
  • 我怎么能平均11,21,2,3还有?
  • https://jsfiddle.net/KristjanLaane/kLskp71j/ 玩一玩
  • 最佳答案

    我会这样做:

    Observable.range(1, 9)
    .scan((acc, curr) => {
    acc.push(curr);

    if (acc.length > 4) {
    acc.shift();
    }
    return acc;
    }, [])
    .map(arr => arr.reduce((acc, current) => acc + current, 0) / arr.length)
    .subscribe(console.log);
    scan()只收集最多 4 个项目和 map()然后计算平均值。
    1
    1.5
    2
    2.5
    3.5
    4.5
    5.5
    6.5
    7.5

    关于rxjs - 使用 rxjs 5 运行平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44083537/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com