遍历打字稿中的数组

时间:2018-06-26 11:12:11

标签: arrays angular typescript loops

我想遍历对象数组,并在打字稿中访问该迭代对象的属性值。

在c#中执行此操作,只需在数组中执行foreach即可。

在打字稿中,这似乎有些不同。我们可以做一个foreach,但是我们不能访问“ complete”对象,该怎么做?

@Input() gridDefinitions: GridColumnDefinition[]   
 public test() {
     for (var def **in** this.gridDefinitions){
       var test = <GridColumnDefinition>this.selectedObject;
       let castedtype = <GridColumnDefinition>def; // this gives an error
    }  
 }

更新:我只是遇到了解决方案。问题在于如何遍历集合。当使用 of 代替 in 时,我们可以访问迭代对象。参见TypeScript for-in statement

2 个答案:

答案 0 :(得分:2)

for...in构造迭代对象的键。要遍历数组中的项目,您需要使用for..of

for (var def of this.gridDefinitions){ // def is of the array item type no casting necessary 
    var test = <GridColumnDefinition>this.selectedObject;
} 

如果需要,还可以使用forEach / map / reduce之类的数组方法以类似于LINQ的方式来处理数组。

答案 1 :(得分:1)

使用foreach并为def输入类型

gridDefinitions.forEach((def: GridColumnDefinition) => {
       var test = <GridColumnDefinition>this.selectedObject;
       let castedtype = <GridColumnDefinition>def;
 })