我想遍历对象数组,并在打字稿中访问该迭代对象的属性值。
在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
答案 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;
})