Arrays 在typescript中遍历数组

Arrays 在typescript中遍历数组,arrays,angular,typescript,loops,Arrays,Angular,Typescript,Loops,我想遍历一个对象数组,并在typescript中访问该迭代对象的属性值 在c#中执行此操作,只需通过数组执行foreach 在typescript中,这似乎有点不同。我们可以做一个foreach,但我们没有访问“完整”对象的权限,如何做到这一点 @Input()gridDefinitions:GridColumnDefinition[] 公开考试(){ for(在**this.gridDefinitions中的变量定义**){ var测试=此。选择的对象; let castedtype=def;

我想遍历一个对象数组,并在typescript中访问该迭代对象的属性值

在c#中执行此操作,只需通过数组执行foreach

在typescript中,这似乎有点不同。我们可以做一个foreach,但我们没有访问“完整”对象的权限,如何做到这一点

@Input()gridDefinitions:GridColumnDefinition[]
公开考试(){
for(在**this.gridDefinitions中的变量定义**){
var测试=此。选择的对象;
let castedtype=def;//这会给出一个错误
}  
}

更新:我刚刚遇到了解决方案。问题在于如何遍历集合。当使用的而不是中的时,我们可以访问迭代对象。请参见

中的构造对对象的键进行迭代。要迭代数组中的项,需要使用
for..of

for (var def of this.gridDefinitions){ // def is of the array item type no casting necessary 
    var test = <GridColumnDefinition>this.selectedObject;
} 
for(this.gridDefinitions的var def){//def属于数组项类型,无需强制转换
var测试=此。选择的对象;
} 

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

使用forEach并为
def

gridDefinitions.forEach((def: GridColumnDefinition) => {
       var test = <GridColumnDefinition>this.selectedObject;
       let castedtype = <GridColumnDefinition>def;
 })
gridDefinitions.forEach((def:GridColumnDefinition)=>{
var测试=此。选择的对象;
让castedtype=def;
})

迭代后想要实现的,可以简单地使用
map和flat
不使用“var”,使用“let”@Eliseo“let”似乎是声明变量的另一种方式,但是我找不到一种方法来解决之前的问题。@请注意,如果
gridDefinitions
的类型为
GridColumnDefinition[]
,则
def
上的类型注释是不必要的<代码>网格定义。forEach(def=>{…})也可以工作