如何从 Typescript 中的对象数组中获取特定数据?

How to get specific data from an array of objects in Typescript?

我正在尝试从我的 PrimeNG 数据表中的 selected 项目中获取 ID。我遇到了这个错误,但我在 Google...

上找不到太多关于 in 的信息
ERROR in C:/Users/*****/Documents/Octopus/Octopus 2.0/src/app/gebruikers/gebruikers.component.ts (200,33): Type must have a '[Symbol.iterator]()' method that returns an iterator.)

这是我的 'interface':

export interface Departement {
DepName;
ID;
}

这是我的 html 代码:

<p-dataTable [value]="departementen" [rows]="3" class="thumbnail" resizableColumns="true" [paginator]="true" [pageLinks]="0" 
            [rowsPerPageOptions]="[3,5,10]" [globalFilter]="gbDepartementen" emptyMessage=""
            [(selection)]="NGSelectedDepartementen">
            <p-column [style]="{'width':'30px'}" selectionMode="multiple"></p-column>
            <p-column [style]="{'width':'40px'}" field="ID" header="ID"></p-column>
            <p-column field="DepName" header="Departement"></p-column>
        </p-dataTable>

这是我希望它如何工作的组件代码,但它没有...(当然)

NGSelectedDepartementen: Departement;
for (let x of this.NGSelectedDepartementen) {
                console.log(x.ID);
}

当我 select 两个 'departementen':

时,这就是我的 NGSelectedDepartementen 中的内容
Array[2]
0:Object
DepName:"Koninklijke Academie voor Schone Kunsten Antwerpen"
  ID:16
  __proto__:Object
1:Object
  DepName:"Koninklijk Conservatorium Antwerpen"
  ID:17
  __proto__:Object
length:2
__proto__:Array[0]

谁能给我一些示例代码,说明我应该如何执行此操作?

回答

您的 NGSelectedDepartementen 类型应该是 Departement[] 而不是 Departement。除非 Departement 实例是实现 Iterable 接口的 class 实例。

NGSelectedDepartementen: Departement[];

n00dl3 的回答

您的 NGSelectedDepartementen 类型应该是 Departement[] 而不是 Departement。除非 Departement 实例是实现 Iterable 接口的 class 实例。

NGSelectedDepartementen: Departement[];