Javascript 计算数组对象中的值之和

Javascript 计算数组对象中的值之和,javascript,node.js,reactjs,express,Javascript,Node.js,Reactjs,Express,我有一个json,格式如下 let newarrayObj = [ { "cost one": "118", "cost two": "118", "cost three": "118" }, { "cost one": "118", "cost two"

我有一个json,格式如下

let newarrayObj = [
    {
    "cost one": "118",
    "cost two": "118",
    "cost three": "118"
    },
    {
    "cost one": "118",
    "cost two": "118",
    "cost three": "118"
   },
   {
    "cost one": "118",
    "cost two": "118",
    "cost three": "118"
   }
]
我需要每个对象的总和,它是118+188+118=424和总和,它是424+424+424=1272

迄今为止的做法:

Object.entries(newarrayObj).map(([key, value]) => {
    Object.values(value).map((j, i) => {
        console.log(j);
    })
})

如何获得预期的总和值?

您可以将
映射到所有数组项上,然后在
对象上使用
.reduce
。每个数组项的值可以总和:

let数据=[
{
“成本一”:“118”,
“成本二”:“118”,
“成本三”:“118”
},
{
“成本一”:“118”,
“成本二”:“111”,
“成本三”:“118”
},
{
“成本一”:“120”,
“成本二”:“118”,
“成本三”:“118”
}
];
函数sumValues(objArr){
返回objArr.map(curr=>{
返回Object.values(curr).reduce((prev,val)=>prev+=Number(val),0)
});
}

console.log(sumValues(data))
map
不会给你一个总数(即使你使用返回值——如果你没有使用返回值,千万不要使用
map
)。有关如何从
Object.values
获取数组中的值之和,请参见链接问题。(Re
map
:使用它的唯一原因是使用它创建和返回的数组。否则,它不用于在数组中循环。有关在数组中循环的信息,请参阅。)如果从回调返回和并使用其返回值,则外部
map
可能有意义。