如何使用打字稿(Angular2)循环遍历JSON对象[重复]
Posted
技术标签:
【中文标题】如何使用打字稿(Angular2)循环遍历JSON对象[重复]【英文标题】:How to loop through a JSON object with typescript (Angular2) [duplicate] 【发布时间】:2017-09-29 06:55:20 【问题描述】:我是 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"
]
我的 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')
);
我确实找回了数据 - 这很棒。但是,我想将 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 实现相同结果的方法。任何帮助将不胜感激!
【问题讨论】:
这应该是 Javasript 问题。 Angular 与 for 循环无关。无论如何,您可以改用它。 developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… this 回答对我很有帮助。 【参考方案1】:假设您的 GET 请求中的 json 对象看起来像您在上面发布的那样:
let list: string[] = [];
json.Results.forEach(element =>
list.push(element.Id);
);
还是我错过了阻止你这样做的东西?
【讨论】:
哦,太好了,这对我有用。非常感谢【参考方案2】:ECMAScript 6 引入了let
语句。您可以在for
语句中使用它。
var ids:string = [];
for(let result of this.results)
ids.push(result.Id);
【讨论】:
以上是关于如何使用打字稿(Angular2)循环遍历JSON对象[重复]的主要内容,如果未能解决你的问题,请参考以下文章