首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用类型记录(Angular2)遍历JSON对象

如何使用类型记录(Angular2)遍历JSON对象
EN

Stack Overflow用户
提问于 2017-05-01 20:41:20
回答 2查看 144.4K关注 0票数 25

我是Angular2新手,我试图循环一个JSON对象,这个对象是我从GET请求中得到的,但无法计算出来。

我的JSON对象:

代码语言:javascript
复制
{
    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"
    }]
}

,我的角脚本的一部分:

代码语言:javascript
复制
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中,我会这样做:

代码语言:javascript
复制
var ids = [];

for (i = 0; i < data.Results.length; i++) {
    ids.push(data.Results[i].Id)
}

推送后的数组:

代码语言:javascript
复制
ids = ['data-mopdsjkajskda', 'data-2371212hjb1', 'data-kjskdha22112'];

我正在努力寻找一种方法来实现与Angular2相同的结果。任何帮助都将不胜感激!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-01 20:50:47

假设来自GET请求的json对象看起来像上面发布的对象,只需这样做:

代码语言:javascript
复制
let list: string[] = [];

json.Results.forEach(element => {
    list.push(element.Id);
});

还是我错过了阻止你这样做的东西?

票数 30
EN

Stack Overflow用户

发布于 2017-05-01 20:57:19

ECMAScript 6介绍了let语句。您可以在for语句中使用它。

代码语言:javascript
复制
var ids:string = [];

for(let result of this.results){
   ids.push(result.Id);
}
票数 26
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43726218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档