我有一个来自 API 调用的返回对象数组。对象结构看起来像这样..

像这样,数组可以包含n个对象。

我要做的是..总结所有对象的selectedMapping.cost的所有值并显示总和。

但有一个问题是成本可能有点棘手。

它们的格式可以是 .30 或 978 等,我们必须分别假设 0.30 和 978.00。它们也可以为 null 或未定义,在这种情况下我们必须将其默认为 0.0

如何在 Angular JS 中实现求和?如何处理适当的转换并显示总和?

请您参考如下方法:

这似乎是使用reduce的好时机

const data = [ 
  { 
    selectedMapping: { 
      cost: ".30" 
    } 
  }, 
  { 
    selectedMapping: { 
      cost: "200" 
    } 
  }, 
  { 
    selectedMapping: { 
      cost: ".60" 
    } 
  }, 
  { 
    selectedMapping: { 
      cost: ".22" 
    } 
  }, 
  { 
    selectedMapping: { 
      cost: null 
    } 
  }]; 
   
 
const sumCost = (data) => 
  data.reduce( 
    (cost, entry) =>  
      cost + (parseFloat(entry.selectedMapping.cost) || 0),  
    0 
  ) 
   
 
console.log(sumCost(data))


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!