我尝试获取此JSON数组值的总和。但我不知道怎样做才是正确的。
var taxes = [ {"1": 11}, {"2": 33} ];
result = 44;
发布于 2018-04-26 01:03:03
您可以使用.reduce()
计算sum,如下所示:
let taxes = [{"1":11}, {"2":33}];
let result = taxes.reduce((a, c) => a + c[Object.keys(c)], 0);
console.log(result);
如果你的对象有连续的数字作为属性,你可以使用一种更简单的方法,比如:
let taxes = [{"1":11}, {"2":33}];
let result = taxes.reduce((a, c, i) => a + c[i + 1], 0);
console.log(result);
发布于 2018-04-26 01:08:42
如果数组中的每个对象只有一个键/值对,则无论键是否连续,这都将起作用:
const result = taxes.reduce((a, b) => a += Object.values(b)[0], 0);
发布于 2018-04-26 01:24:30
您可以尝试使用Array.prototype.map()和Array.prototype.reduce()
var taxes = [{"1":11},{"2":33}];
const result = taxes.map(a=>Object.values(a)).reduce((a,b)=>parseInt(a)+parseInt(b))
console.log("result = "+result);
https://stackoverflow.com/questions/50027653
复制相似问题