簡體   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