rxjs-数学相关操作符

作者: bugWriter_y | 来源:发表于2019-06-26 15:38 被阅读1次

    count

    统计一共发射了多少数据

    import { takeUntil, count } from "rxjs/operators";
    import { interval, fromEvent } from "rxjs";
    
    

    max

    统一最大的值,或者传一个比较函数取出逻辑上最大的值

    import { max } from "rxjs/operators";
    import { of } from "rxjs";
    //利用max求出最大的值
    of(1, 2, 3, 4)
      .pipe(max())
      .subscribe(x => console.log(x));
    //利用max和比较函数求出最小的值
    of(1, 2, 3, 4)
      .pipe(max((x, y) => Math.min(x, y)))
      .subscribe(x => console.log(x));
    

    min

    统计最小的值,或者传一个比较函数取出逻辑上最小的值

    reduce

    累加操作符,通过当前值和累加值的运算求出最终的值,例如求和运算,每一次计算都是将当前值和之前的和相加,最后一次计算的结果就是最终的结果。

    注意累加运算需要一个初始值作为第一次运算时的“上一次结果”,不然第一个值不知道和谁去计算

    import { take, reduce, tap } from "rxjs/operators";
    import { interval } from "rxjs";
    interval(100)
      .pipe(
        tap(_ => console.log(_)),
        take(20),
        reduce((x, y) => x + y, 0)
      )
      .subscribe(x => console.log(x));
    

    相关文章

      网友评论

        本文标题:rxjs-数学相关操作符

        本文链接:https://www.haomeiwen.com/subject/lpbccctx.html