我正在尝试通过执行以下操作来遍历数据源对象:
this.datasource.data.forEach()
但是它无法识别我的数据是对象数组,所以我尝试这样做:
const objects: ObjectModel[] = this.datasource.data
然后出现以下错误:
object type is assignable to very few other types
如何对数据源数据进行forEach?
已更新,以包括模型定义:
ObjectModel = {
id: string,
firstName: string,
lastName: string
}
答案 0 :(得分:0)
您不能forEach
对象。虽然有一些方法可以遍历对象...
Object.keys
Object.values
Object.entries
那些是一些受欢迎的。
您可以检查以下参考: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries
如果确实有对象数组,则应该可以使用forEach。但是您发布的数据不是这种格式。
for (let [key, value] of Object.entries(objectModel)) {
console.log(`${key}: ${value}`);
}
答案 1 :(得分:0)
将对象分配给数据源,如下所示,
datasource: MatTableDataSource<ObjectModal> = [{
id: 1, firstName: 'David', lastName: 'Joe'},
{id: 2, firstName: 'Jeol', lastName: 'Jare'}]
const objects: ObjectModal[] = datasource.data;