私はTypeScriptとAngularの初心者ですので、この質問は奇妙かもしれません。 私は英雄のリストを返す単純なJSON持っている:私はGetByIdを実行するために私のサービスを必要とするが、ヒーローは常に未定義出てくる理由は、誰かが右の場所に私をポイントしてくださいすることができ、これは私は何である http://demo8521374.mockable.io/titan角度観測可能はjson配列結果をフィルタリングしません
をやって:
:私は、配列を参照することができ、私のコンソールに return this.http.get("http://demo8521374.mockable.io/titan").map((response: Response) => {
var result = response.json().heroes as Hero[];
console.log(result);
return result;
}).filter(x => x.filter(x => x.id == id)).first().toPromise();
が印刷されたが、私のコンポーネントにして、オブジェクトを取得していません回の
ngOnInit(): void {
this.route.paramMap
.switchMap((params: ParamMap) => this.heroService.getHero(+params.get('id')))
.subscribe(hero => this.hero = hero);
console.log(this.hero)
}
ありがとう!
これは行く方法です。 Observable.filter()は、イベントのデータではなく、_events_(!)をフィルタリングしています。だから、 '.map()'の中で '.filter()'を使うのはここでは間違いありません。 –