要循环遍历一个对象数组并按对象属性求和,可以使用Angular的reduce
方法。以下是一个示例代码:
import { Component } from '@angular/core';
interface MyObject {
name: string;
value: number;
}
@Component({
selector: 'app-my-component',
template: `
-
{{ obj.name }}: {{ obj.value }}
Total: {{ getTotal() }}
`
})
export class MyComponent {
myArray: MyObject[] = [
{ name: 'Object 1', value: 10 },
{ name: 'Object 2', value: 20 },
{ name: 'Object 3', value: 30 }
];
getTotal(): number {
return this.myArray.reduce((total, obj) => total + obj.value, 0);
}
}
在这个示例中,我们首先定义了一个MyObject
接口,表示对象数组中的每个对象的结构。然后,在组件中定义了一个myArray
数组,其中包含了几个对象。
在模板中,我们使用*ngFor
指令循环遍历myArray
数组,并将每个对象的name
和value
属性显示为列表项。
最后,我们使用getTotal()
方法来计算对象数组中所有对象的value
属性的总和。在这个方法中,我们使用了reduce
方法,并传入一个回调函数来实现求和操作。初始值为0。
通过调用getTotal()
方法,可以在模板中显示对象数组中所有对象的value
属性的总和。