繁体   English   中英

如何在 javaScript 中添加两个 object 二维数组值

[英]How to add two object 2d array values in javaScript

这是问题

var x = [
   {amount:2,concentration:10},
   {amount:1,concentration:8},
   {amount:6,concentration:15}
];

预期 output:

y = [{amount:9, concentration:33}];

您可以使用reduce的初始值等于数组的第一个元素

 const x = [ { amount: 2, concentration: 10 }, { amount: 1, concentration: 8 }, { amount: 6, concentration: 15 }, ]; const result = x.reduce((acc, val) => ({ amount: acc.amount + val.amount, concentration: acc.concentration + val.concentration, })); console.log(result); const y = [result]; console.log(y);

Ciao,这里的工作示例:

 var x =[ {amount:2,concentration:10}, {amount:1,concentration:8}, {amount:6,concentration:15} ]; var result = {}; result.amount = x.map(item => item.amount).reduce((prev, next) => prev + next); result.concentration = x.map(item => item.concentration).reduce((prev, next) => prev + next); console.log([result]);

或者你可以使用简单的 for 循环

 const x =[ {amount:2,concentration:10}, {amount:1,concentration:8}, {amount:6,concentration:15} ]; let y = [{ amount: 0, concentration: 0 }]; for(let i = 0; i < x.length; i++) { y[0].amount += x[i].amount; y[0].concentration += x[i].concentration; } console.log(y)

简单的答案,但可能对许多人有用。

var x =[
    {amount:2,concentration:10},
    {amount:1,concentration:8},
    {amount:6,concentration:15}
];

let totalAmount = 0;
let totalConcentration = 0;
x.map(xx => {
    totalAmount += xx.amount;
    totalConcentration += xx.concentration;
});
console.log({amount: totalAmount, concentration: totalConcentration});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM