Javascript 自定义类型解析问题
我的产品类型定义如下:Javascript 自定义类型解析问题,javascript,angular,Javascript,Angular,我的产品类型定义如下: export class Product { id: number; //other fields } 组件中的变量formattedProducts: formattedProducts: Product[] = []; 我想在此处更新此变量: refreshSummary(product: Product): void{ var found = false; for (var p in this.formattedProducts){
export class Product {
id: number;
//other fields
}
组件中的变量formattedProducts:
formattedProducts: Product[] = [];
我想在此处更新此变量:
refreshSummary(product: Product): void{
var found = false;
for (var p in this.formattedProducts){
console.log('parsing product summary', p);
if (p.id == product.id){
// we update
console.log('updating product')
found = true;
break;
}
}
我的问题是我有调试器错误:
Property 'id' does not exist on type 'string'
发生在我的“p.id”上。我的变量this.formattedProducts是一个Product数组,所以我不知道如何将其解释为字符串。
是否可以强制定义我的变量p的类型,或者以我使用的另一种方式使我的formattedProduct成为产品数组?此处for(此.formattedProducts中的var p){
应该是for(此.formattedProducts的var p){
目前,您正在迭代formattedProducts数组对象的属性,并且每个
p
都是属性的名称做得好,我会尽快接受您的答案!使用let或const代替var。