私はオブジェクトの配列をHTTPレスポンスとして取得しています。オブジェクトの値でそれらをグループ化しようとしています。どのようにしてHTTP応答にグループ化できますか?
[
{player: 'Jordy Nelson', team: 'Packers'},
{player: 'Aaron Rogers', team: 'Packers'},
{player: 'Dak Prescott', team: 'Cowboys'},
{player: 'Ezekiel Elliot', team: 'Cowboys'},
{player: 'Joe Flacco', team: 'Ravens'},
{player: 'Julio Jones', team: 'Falcons'},
]
私は私が試した
[
{'Packers':
[
{player: 'Jordy Nelson', team: 'Packers'},
{player: 'Aaron Rogers', team: 'Packers'}
]
},
{'Cowboys':
[
{player: 'Dak Prescott', team: 'Cowboys'},
{player: 'Ezekiel Elliot', team: 'Cowboys'}
]
},
{'Ravens':
[
{player: 'Joe Flacco', team: 'Ravens'}
]
},
{'Falcons':
[
{player: 'Julio Jones', team: 'Falcons'}
]
}
]
オブジェクトの配列を含む、その応答を取得し、オブジェクトの配列に変換しようとしている。一例としては、のは、以下の私が手にしましょう他のSOポスト
return this.http
.get(`${environment.baseUrl}/players`, options)
.map(res => res.json())
.groupBy(
res => res.team,
res => res // I've also tried removing this, filtering and flatmap
)
.flatMap(teams => {return teams})
で述べたようにGROUPBYを使用しかし、軸1がそうのような単一のオブジェクトである2D配列を返し:
を[
[
{'Packers': {player: 'Jordy Nelson', team: 'Packers'}
],
[
{'Packers': {player: 'Aaron Rogers', team: 'Packers'}
]
]
私の応答を正しくフォーマットするために必要なことは何ですか?ありがとう!
@coderek答えの助けを借りて、私は動的にHTTPレスポンスを再編成できる小さな関数を書いています(あなたは別のキーでグループ化するときにAPIをヒットしません)。他の誰かがこの問題に遭遇した場合、redditの投稿があります。https://www.reddit.com/r/Angular2/comments/629nfg/how_to_dynamically_group_a_http_response/
これは重複して質問です:、http://stackoverflow.com/questions/14800862/how-can-i-group-data-with-an-angular-filter – Arvindsinc2
@それはAngularJSだArvindsinc2をチェックアウトしません角度。また、それはテンプレート内にあり、コンポーネント内でこれを実行しようとしています。私はアンダースコアがあることを知っていましたが、RXJSを使用するのは可能です(私はちょうどそれをやっていないようです) –