计算固定流的最大值很简单,例如:
var source = Rx.Observable.from([1,3,5,7,9,2,4,6,8]).max();
但是这只生成一个值(在这种情况下为9)。
到目前为止,我想生成一个最大值序列,直到Observable生成一个新的最大值。所以输出就像[1,3,5,7,9]。
到目前为止,我的想法是将输出流与最大值合并,使用输入流(使用combineLatest)并比较这两个值。然而,这似乎比我应该更复杂。
答案 0 :(得分:1)
您可以这样使用printf("\n");
Array(A, nA, &B, &nB, &C, &nC);
功能:
scan
Scan允许您拥有一个遵循function max(a,b) {return (a>b ? a : b}
var max$ = source$.scan(max,0);
类型关系的流,其中On+1 = f(In+1, Sn)
是源流的第n个输入,In
将是第n个输出,On
将是序列上累积的值(类似于数组的Sn
运算符)。