![](/img/trans.png)
[英]Sum values of objects which are inside an array with underscore.js and reduce
[英]How to sum up currency values inside an array of objects in Angular JS
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))
希望我对你没错,然后我创建的这个插件可以满足您的要求: https ://embed.plnkr.co/zzQkybjND5xi2Uo7dNHZ/
只需遍历数组,检查该值是否为null或undefined(如果将其设置为0.0)并求和所有值。
这是我处理未定义/空项目的解决方案
const sum = items.reduce((prevVal,item)=>{
const selectedMapping = item.selectedMapping || null
const cost = (isNaN(selectedMapping) && 'cost' in selectedMapping)? Number(selectedMapping.cost) : 0
return prevVal + cost
},0)
console.log(sum.toFixed(2))
您可以映射到数组并获取成本,然后使用ramdajs的R.sum方法
const array = [
{
selectedMapping: {
cost: ".30"
}
},
{
selectedMapping: {
cost: "200"
}
},
{
selectedMapping: {
cost: ".60"
}
},
{
selectedMapping: {
cost: ".10"
}
},];
const currency = array.map(curr=>parseFloat(curr.selectedMapping.cost))
R.sum(currency);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.