前提として
Observableに関して学ばなければいけません
https://qiita.com/ryuseikurata/private/6db14969b628e0de1d0c
https://qiita.com/ryuseikurata/private/fa5227a1203af86a19ab
https://qiita.com/ryuseikurata/private/45faa9cd8f50a390b10c
scan
Operatorの一つです。
アキュームレータとメッセージを使って処理することができます。
アキュームレータとは、蓄積されたものという意味です。
observableのscanでは、処理した返り値をアキュームレータとします。
const array = of(1,2,3)
//accがアキュームレータ、curがメッセージです。
//メッセージの1を処理するとき、蓄積がないので、acc は 0となります。
//メッセージの2を処理するとき、蓄積は` 1(0 + 1) `なので、acc は 1となります。
//メッセージの3を処理するとき、蓄積は` 3(1 + 2) なので、acc は 3となります。
const scan = array.pipe(
scan( (acc, cur) => acc + cur )
);
scan.subscribe(val => console.log(val));
1
3
6
filter
Operatorの一つです。
メッセージをフィルタリングしてくれます。
filiterのなかで、trueになったもののみを返します。
const array = of(1,2,3);
//メッセージが、奇数のものだけを返すようにしています。
const filter = array.pipe(
filter( num => num % 2 == 1));
filter.subscribe(val => console.log(val));
1
3