【问题标题】:Rxjs - emit if the pair appearsRxjs - 如果配对出现则发出
【发布时间】:2020-05-14 22:08:55
【问题描述】:

关于 rxjs 谜题的问题。

我有一个随机数流。 该数字采用 [0-9] 数字。所以流看起来像:

0, 4, 2, 8, 9, 0, 3, 9, ...

如果 5 之后的数字为 9,我想发出 true。换句话说,如果流中出现了对 [5, 9]。

管道应该是什么?

示例代码在这里:

import { interval } from "rxjs";
import { map } from "rxjs/operators";

const numbers = 
  interval(500).pipe(map(() => Math.floor(Math.random() * 10))); // it takes [0-9] numbers

numbers.pipe(
  // what the pipe should be?
).subscribe(console.log);

【问题讨论】:

    标签: rxjs


    【解决方案1】:

    您可以使用pairwise() 运算符:

    src$.pipe(
     pairwise(),
     map(([prev, crt]) => prev === 5 && crt === 9)
    )
    

    【讨论】:

    • 太棒了。我发布了这个问题,你在 5 分钟内回答了。真是个男人。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多