I am new to Angular2 and I am trying to loop through a JSON object that I am getting back from a GET request but can't work it out.
My JSON object:
{
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"
}]
}
Part of my Angular script:
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')
);
}
I do get the data back - which is great. However, I want to push the Ids into an array. In Javascript I would do this:
var ids = [];
for (i = 0; i < data.Results.length; i++) {
ids.push(data.Results[i].Id)
}
The array after the push:
ids = ['data-mopdsjkajskda', 'data-2371212hjb1', 'data-kjskdha22112'];
I am struggling to find a way to achieve the same results with Angular2. Any help would be greatly appreciated!
Answer
Assuming your json object from your GET request looks like the one you posted above simply do:
let list: string[] = [];
json.Results.forEach(element => {
list.push(element.Id);
});
Or am I missing something that prevents you from doing it this way?
No comments:
Post a Comment