首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >求和嵌套数组

求和嵌套数组
EN

Stack Overflow用户
提问于 2018-06-09 04:40:55
回答 1查看 752关注 0票数 0

我在一个对象数组中有一个数组,我想对嵌套数组中的值求和。

代码语言:javascript
复制
[{BenefitType:'401k',
   Beneficiaries: [{Name: 'PersonA', Percentage: 20},
                   {Name: 'PersonB', Percentage: 30},
                   {Name: 'PersonC', Percentage: 50}]
},
 {BenefitType:'IRA',
   Beneficiaries: [{Name: 'PersonA', Percentage: 15},
                   {Name: 'PersonB', Percentage: 45},
                   {Name: 'PersonC', Percentage: 40}]
}];

我想按福利类型对所有百分比求和,以便401k = 100IRA = 100

我有以下代码,但它为我提供了百分比的总计,而不是每个福利类型的总计:

代码语言:javascript
复制
var myTotal = 0;

for(var i = 0; i < data.benefit_type.length; i++) {
    for(var j=0; j < data.benefit_type[i].beneficiaries.length; j++) {
        myTotal += parseInt(data.benefit_type[i].beneficiaries[j].percentage); 
        data.benefit_type[i].percent_total = myTotal;

    } 
}

为了修复这个问题,我错过了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-09 04:46:09

您可以使用.forEach()遍历所有对象,并使用.reduce()对内部数组求和:

代码语言:javascript
复制
let array = [{BenefitType:'401k',
   Beneficiaries: [{Name: 'PersonA', Percentage: 20},
                   {Name: 'PersonB', Percentage: 30},
                   {Name: 'PersonC', Percentage: 50}]
},
 {BenefitType:'IRA',
   Beneficiaries: [{Name: 'PersonA', Percentage: 15},
                   {Name: 'PersonB', Percentage: 45},
                   {Name: 'PersonC', Percentage: 40}]
}];


array.forEach(x => x.TotalPercentage = x.Beneficiaries.reduce((val, cur) => val + cur.Percentage, 0));

console.log(array);

编辑:

要使用double for循环修复代码,您应该在离开内部循环时将myTotal变量设置为零:

代码语言:javascript
复制
for(var i = 0; i < data.benefit_type.length; i++) {
    for(var j=0; j < data.benefit_type[i].Beneficiaries.length; j++) {
        myTotal += data.benefit_type[i].Beneficiaries[j].Percentage; 
        data.benefit_type[i].percent_total = myTotal;
    }
    myTotal = 0;
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50768119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档