私は以下のストリームを持っています。真(ブール値)のパラメータだけをフィルタリングして保持したいと思います。RxJSを使ったオブジェクトのフィルタオブジェクト
{
"colors": {
"red": "",
"yellow": true,
"green": false
},
"size": {
"t5": true,
"t10": "",
"t20": true
}
}
私は、出力は次のようになりする必要があります。ここでは
{
"colors": ["yellow"],
"size": ["t5,t20"]
}
私はこの問題に対処しようとすると、私のthougtです:
- 私はマップを使用しようとしたが、成功なし。私はそれが オブジェクトであり、配列ではないからだと思います。
- すべてのキーと値はこのオブジェクトでは動的なので、私はそれらを使用して オブジェクトを操作することはできません。
- flatMap()少しお手伝いしますが、私は キーの名前を知らないので、それをどうすればいいのかわかりません。
this.form.valueChanges
.debounceTime(400)
.flatMap(x => Object.values(x))
.subscribe(console.log)
mainKeysToTruthyLists関数でリターンを追加した後で動作しました。私はまた、結合( '、')を追加しました。私はあなたのスタイルが好きです。これは本当に役に立ちました。ありがとうございました。 – Tom