我無法篩選基於groupBy
observable的Observable。Group Observables,然後通過計數篩選
這裏是一個基於groupBy()
文檔的例子:
var codes = [
{ keyCode: 38}, // up
{ keyCode: 38}, // up
{ keyCode: 40}, // down
{ keyCode: 40}, // down
{ keyCode: 37}, // left
{ keyCode: 39}, // right
{ keyCode: 37}, // left
{ keyCode: 39}, // right
{ keyCode: 66}, // b
{ keyCode: 65} // a
];
var source = Rx.Observable.from(codes)
.groupBy(
function (x) { return x.keyCode; },
function (x) { return x.keyCode; }
)
.flatMap(obs =>
obs.count()
.filter(x => x > 1)
.flatMap(obs.toArray())
)
source.subscribe(console.log)
這將返回:
[]
[]
[]
[]
因此,觀測值都被過濾,但它們的價值都沒有了。
的事情是,我不希望得到計數出到'subscribe' - 我需要保留原來的觀測。 –
你是什麼意思? 'obs => obs.toArray()'?但是那麼你會丟失計數信息。您想做什麼? – user3743222
'obs.count().filter(x => x> 1).toArray()'返回數組返回值'count',但我需要原始數組(即原始可觀察數) –