2017-08-03 16 views
0

IDのようなプロパティを持つユーザーオブジェクトの配列を含む偽のエンドポイントから返された結果をマップしようとしています。しかし、マップ演算子をどのように動作させるためにマップ演算子を入れるべきかを理解することはできません。たとえば、すべてのIDに10を追加する場合などです。ここに私のサービスのコードは次のとおりです。.find()内部http.get()から返されたデータを変更するために.map()observableを構築する方法

getUsers(): Observable<IUsers[]> { 
    return this._http.get<IUsers[]>('https://jsonplaceholder.typicode.com/users') 
     .map((users: IUsers[]) => users.find(x => (x.id + 10))) 
     .do(data => console.log('All: ' + JSON.stringify(data))) 
     .catch(this.handleError); 
} 

、それは'number' not assignable to type 'boolean'を返します。 .map()の矢印機能をどのように構築すればよいですか?

答えて

0

findmapに置き換えてください。 Findは、評価がtrueの値を返します。 (x.id + 10)はありません。そういうわけで、あなたはそのエラーを受けます。

+0

私は 'map'の中で' map'を使うべきですか?編集:それは働いた! – midnightnoir

+0

これは、 'id'プロパティを変換したオブジェクトを持つ新しい配列を作成します。残りのプロパティは' id'以外のオブジェクトの内部にどのように保持しますか? – midnightnoir

+0

@midnightnoir Array.mapの[documentation](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/map)が役立ちます。あなたはおそらく 'users.map(user => {user.id = user.id + 10;返却ユーザ})のようなものを使用したいでしょう。 – 0mpurdy

関連する問題