获取对象的总和 属性 值的方法
Way to get the sum property values of an object
我想得到对象属性的总和
这是我的输入
{
"Obj1": {
"1": 50,
"2": 45.5,
"3": 15,
"4": 10,
"5": 20
},
"Obj2": {
"1": 12.5,
"2": 0,
"3": 0,
"4": 12.5,
"5": 0
}
}
希望我的输出是
Obj1 = 140.5
Obj2 = 25
让我知道是否有办法获得上述 javascript
中提到的输出
提前致谢!!!
这应该适用于您的用例:
const data = {
"Obj1": { "1": 50, "2": 45.5, "3": 15, "4": 10, "5": 20 },
"Obj2": { "1": 12.5, "2": 0, "3": 0, "4": 12.5, "5": 0 },
};
const sums = {};
for (const key in data) {
sums[key] = Object.values(data[key]).reduce((tot, v) => tot + v, 0);
}
console.log(sums);
// {
// "Obj1": 140.5,
// "Obj2": 25
// }
请注意,对于子对象的顺序键,使用数组可能会更好。
这是一种使用 Object.assign 和 reduce 创建一个对象的方法,该对象具有与您想要的结果相对应的 key/value 对。
const data = {
"Obj1": { "1": 50, "2": 45.5, "3": 15, "4": 10, "5": 20 },
"Obj2": { "1": 12.5, "2": 0, "3": 0, "4": 12.5, "5": 0 },
};
const result = Object.assign({}, ...Object.entries(data).map(e => ({[e[0]]: Object.entries(e[1]).reduce((b,a) => b+a[1],0)})))
console.log(result)
我想得到对象属性的总和
这是我的输入
{
"Obj1": {
"1": 50,
"2": 45.5,
"3": 15,
"4": 10,
"5": 20
},
"Obj2": {
"1": 12.5,
"2": 0,
"3": 0,
"4": 12.5,
"5": 0
}
}
希望我的输出是
Obj1 = 140.5
Obj2 = 25
让我知道是否有办法获得上述 javascript
中提到的输出提前致谢!!!
这应该适用于您的用例:
const data = {
"Obj1": { "1": 50, "2": 45.5, "3": 15, "4": 10, "5": 20 },
"Obj2": { "1": 12.5, "2": 0, "3": 0, "4": 12.5, "5": 0 },
};
const sums = {};
for (const key in data) {
sums[key] = Object.values(data[key]).reduce((tot, v) => tot + v, 0);
}
console.log(sums);
// {
// "Obj1": 140.5,
// "Obj2": 25
// }
请注意,对于子对象的顺序键,使用数组可能会更好。
这是一种使用 Object.assign 和 reduce 创建一个对象的方法,该对象具有与您想要的结果相对应的 key/value 对。
const data = {
"Obj1": { "1": 50, "2": 45.5, "3": 15, "4": 10, "5": 20 },
"Obj2": { "1": 12.5, "2": 0, "3": 0, "4": 12.5, "5": 0 },
};
const result = Object.assign({}, ...Object.entries(data).map(e => ({[e[0]]: Object.entries(e[1]).reduce((b,a) => b+a[1],0)})))
console.log(result)