1
私はAPIに問い合わせて、それが返す配列から特定の要素を取得しようとしています。観測可能な配列から要素を選択する角度
私はAPIにクエリを実行し、JSON応答を返します。私は、numパラメータに一致する値Rnを持っている一つの要素を見つけるために、フィルタを呼び出したいT.
に応じて、各オブジェクトをマップする関数に.MAP呼び出しによってgetOne(num: number): Observable<T> {
let t$ = this.http
.get(`${this.API_URL}?${this.getParams()}`)
.map(mapToTypeT)
.filter(x => Number.parseInt(x.rn) === num)
return t$;
}
を応答を送信します。私は戻って2つのエラーを得ているように私は、それは正しくありません知っている:
Property 'rn' does not exist on type 'T[]'
Type 'T[]' is not assignable to type 'T'
は私がTに達することができる方法は、配列が各要素のプロパティを確認し、一致した要素を返すために[]あります与えられた述語?それは私がTさんの観察可能な配列で働いているが、私は参考のためだけ T.
の観測を返すようにしたい、他の二つの機能現状では:
function mapToTypeT(response:Response): T[]{
return response.json().map(t => toT(t))
}
function toT(r:any): T{
let t = <T>({
staId: r.staId,
stpId: r.stpId,
staNm: r.staNm,
stpDe: r.stpDe,
rn: r.rn,
});
return t;
}