gpt4 book ai didi

javascript - 我如何为单独的对象数组对每个对象的属性求和?

转载 作者:行者123 更新时间:2023-12-05 09:27:18 25 4
gpt4 key购买 nike

我有一个对象,其中有多个对象,每个对象都有一个包含 0..n 个对象的对象数组。主要对象看起来像这样:

{
obj1: [{obj1.1}, {obj1.2}, {obj1.3}],
obj2: [{obj2.1}]
obj3: [{obj3.1}, {obj3.2}]
}

每个对象(obj1、obj2 和 obj3)在一个对象数组中包含一组公共(public)对象。例如。 obj1 在对象数组(obj1.1、obj1.2 和 obj1.3)中有一组对象,所有这些对象都具有将它们组合在一起的共同属性。

我现在希望能够分别遍历每个对象数组中的每个对象,以便对每个对象数组的特定属性(每个对象都具有)求和。

我已使用 Object.keys 遍历每个对象数组,但我仍然无法为每个对象数组获取单独的求和值。

例如:

{
obj1: [
0: { price: 10 }
1: { price: 10 }
2: { price: 10 }
],
obj2: [
0: { price: 10 }
],
obj3: [
0: { price: 10 }
1: { price: 10 }
]
}

我希望能够对每个单独的对象数组的属性 price 求和。因此,对于 obj1,我的总金额应该是 30。对于 obj2,我的总金额应该是 10,最后对于 obj3,我应该总金额为 20。

我可以使用 Object.keys 遍历每个对象数组,但是就目前而言,当遍历每个对象数组中的每个单独元素时(使用 foreach),我只是总结一个最终的所有三个对象数组中所有对象的数量。 IE。我得到的总金额为 60。

var total = 0;
for (var key of Object.keys(result)) {
result[key].forEach(element => {
total += element.Price;
});
};
console.log(total);

我可以使用什么来获取每个对象数组的三个单独总和金额?

最佳答案

function sum(prices)
{
let total = 0;
prices.forEach((entry) => total += entry.price);
return total;
}

console.log(sum(obj1));
console.log(sum(obj2));
console.log(sum(obj3));

为什么又这么难?您拥有正确的代码,只需要打破现状。

关于javascript - 我如何为单独的对象数组对每个对象的属性求和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72678157/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com