![](/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.