私はAngular2を初めて使用し、GETリクエストから返されたJSONオブジェクトをループしようとしていますが、うまくいきません。
私のJSONオブジェクト:
{
Results: [{
Time: "2017-02-11T08:15:01.000+00:00",
Id: "data-mopdsjkajskda",
AuthorId: "58fSDNJD"
}, {
Time: "2017-03-11T06:23:34.000+00:00",
Id: "data-2371212hjb1",
AuthorId: "43555HHHJ"
}, {
Time: "2017-04-11T07:05:11.000+00:00",
Id: "data-kjskdha22112",
AuthorId: "XDSJKJSDH"
}]
}
私のAngularスクリプトの一部:
interface res {
Time: string;
Id: string;
AuthorId: string;
}
export class AppComponent {
results: res;
constructor(private _httpservice: HTTPService) {}
this._httpservice.getQuery().subscribe(
data => {
this.results = data.Results
},
error => console.log(error),
() => console.log('Done')
);
}
私はデータを取り戻します-これは素晴らしいことです。ただし、IDを配列にプッシュします。 Javascriptではこれを行います。
var ids = [];
for (i = 0; i < data.Results.length; i++) {
ids.Push(data.Results[i].Id)
}
プッシュ後の配列:
ids = ['data-mopdsjkajskda', 'data-2371212hjb1', 'data-kjskdha22112'];
私はAngular2で同じ結果を達成する方法を見つけるのに苦労しています。どんな助けも大歓迎です!
GETリクエストからのjsonオブジェクトは、上で投稿したもののように見えると仮定します:
let list: string[] = [];
json.Results.forEach(element => {
list.Push(element.Id);
});
それとも、この方法でそれを行うことを妨げる何かが欠けていますか?
ECMAScript 6は let
ステートメントを導入しました。 for
ステートメントで使用できます。
var ids:string = [];
for(let result of this.results){
ids.Push(result.Id);
}