繁体   English   中英

如何使用 rxjs 的 sum 运算符?

[英]How to use sum operator of rxjs?

我尝试过的事情包括以下其中值是我想要找到总和的值的数组。

我还从 rxjs 添加了必要的功能,如下所示:我收到一条错误消息

typeError: Rx.Observable.from(...).sum 不是函数

const { merge , interval ,from} = rxjs;
const { tap ,take ,sum } = rxjs.operators;   
             
var sumSource = Rx.Observable.from(values).sum(function (x) {
    return x;
});

var subscription = sumSource.subscribe(
    function (x) {
        console.log('Next: ' + x);
        x.target.value = x;
    },
    function (err) {
        console.log('Error: ' + err);
    },
    function () {
        console.log('Completed');
    }
);

互联网上关于 sum 的信息不多。有任何输入可以修复并获得总和?

  • sum:关于官方 rxjs github 存储库,他们不再导出/提供sum运算符。
  • reduce 运算符reduce对源 Observable 应用累加器函数,并在源完成时返回累加结果。
  • scan 运算符scan在源 Observable 上应用累加器函数,并返回每次发射的累加结果。

设置

const values = [1,2,3,4,5];
const accumulator = (acc, curr) => acc + curr;

实施减少

from(values).pipe(
  reduce(accumulator, 0)
)
// Expected output: 15

实施扫描

from(values).pipe(
  scan(accumulator, 0)
)
// expected output: 1, 3, 6, 10, 15

我在这里做了一个正在运行的 stackblitz。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM