Arrays 在typescript中遍历数组
我想遍历一个对象数组,并在typescript中访问该迭代对象的属性值 在c#中执行此操作,只需通过数组执行foreach 在typescript中,这似乎有点不同。我们可以做一个foreach,但我们没有访问“完整”对象的权限,如何做到这一点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;
@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=>{…})也可以工作