我正在一个Angular项目中,我想捕获所有的encCharge并将它们添加到我的cf中,并使用for函数将所有的encCharge总计在一起。

这是我的数组:

produits = [
    {
      cf1: {
        cfTitle: 'prInfiniti30j',
        encCharge: 12345.75,
        encBonifie: 47730.56
      },
      cf2: {
        cfTitle: 'prInfiniti30j',
        encCharge: 18400.94,
        encBonifie: 38268.56
      },
      cf3: {
        cfTitle: 'prInfiniti30j',
        encCharge: 18392.00,
        encBonifie: 30570.56
      },
      cf4: {
        cfTitle: 'prInfiniti30j',
        encCharge: 0.00,
        encBonifie: 15230.56
      },
    },
  ];

这是我的功能,也是我尝试过的事情,但是我无法找到想要的东西。
ngOnInit(){
for (let testing in this.produits[0]) {
  console.log(this.produits[0].cf1.encBonifie);
  // console.log(this.produits[0].testing.encCharge);
  // console.log(testing.encCharge);
}`

这是我期望的结果:
let totalEncCharge = this.produits[0].cf1.encCharge +
this.produits[0].cf2.encCharge + this.produits[0].cf3.encCharge +
this.produits[0].cf4.encCharge ;
console.log(totalEncCharge);

谢谢您的帮助

最佳答案

您也可以尝试使用Object.keys

var total = 0;
Object.keys(this.produits[0]).map(item=>{
  total+=this.produits[0][item].encCharge });
console.log(total);

*编辑:如果您不希望返回任何值,而是设置其他属性,如示例中所示,最好使用forEach而不是map

07-24 09:44