我是Angular2新手,我试图循环一个JSON对象,这个对象是我从GET请求中得到的,但无法计算出来。
我的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"
}]
},我的角脚本的一部分:
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')
);
}我确实把数据拿回来了-太棒了。但是,我想将Ids推入数组中。在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相同的结果。任何帮助都将不胜感激!
发布于 2017-05-01 20:50:47
假设来自GET请求的json对象看起来像上面发布的对象,只需这样做:
let list: string[] = [];
json.Results.forEach(element => {
list.push(element.Id);
});还是我错过了阻止你这样做的东西?
发布于 2017-05-01 20:57:19
ECMAScript 6介绍了let语句。您可以在for语句中使用它。
var ids:string = [];
for(let result of this.results){
ids.push(result.Id);
}https://stackoverflow.com/questions/43726218
复制相似问题