数据是对象类型的数组...
{
id: 1,
name: 'test'
},
{
id: 2,
name: 'test 2'
}
在对数据进行forEach时如何访问element.id?在下面的示例中,它不喜欢element.id。它说属性“ id”在对象类型上不存在。
// Need to make sure this code completes
data.forEach(element => {
this.myservice.delete(element.id).subscribe();
});
答案 0 :(得分:1)
要键入一个对象,该对象的结构尚不完全清楚,或者您想以不安全的方式访问它,则应使用any
。
declare var data: any[];
data.forEach(element => {
this.myservice.delete(element.id).subscribe();
});
但是在这种情况下,结构是已知的并且非常简单,我实际上会使用适当的类型:
declare var data: Array<{ id: number, name: string}>;
data.forEach(element => {
this.myservice.delete(element.id).subscribe();
});
答案 1 :(得分:0)
给它一种any
data.forEach(element => {
this.myservice.delete((element as any).id).subscribe();
});