我有一个对象,其中有个对象,每个对象都有一个0的对象array..n个对象.主要对象如下所示:

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

每个对象(obj1、obj2和obj3)在一组对象中包含一组公共对象.E、 g.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),我只是对所有三个对象数组中的所有对象的最终数量求和.一、 我总共得到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相关问答推荐

JavaScript寻求、寻求和时间更新事件||Mux

JavaScript替换子 node 导致它们更改为[对象HTMLTable SectionElement]

使用Element.children在前后移动 node

如何在我的Web应用程序中使用JavaScript显示和隐藏喜欢/不喜欢按钮?

同步功能在中间停止

在JavaScript中逐一播放随机生成的音频文件数组

获取加载失败:获取[.]添加时try 将文档添加到Firerestore,Nuxt 3

如何修复循环HTML元素附加函数中的问题?

成帧器运动中的运动组件为何以收件箱开始?

如何从JSON数组添加Google Maps标记—或者如何为数组添加参数到标记构造器

. NET中Unix时间转换为日期时间的奇怪行为

我应该绑定不影响状态的函数吗?'

为什么这个JS模块在TypeScript中使用默认属性导入?""

如何从隐藏/显示中删除其中一个点击?

Angular 中的类型错误上不存在获取属性

有效路径同时显示有效路径组件和不存在的路径组件

第一项杀死下一项,直到数组长度在javascript中等于1

处理app.param()中的多个参数

Next.js无法从外部本地主机获取图像

自动滚动功能在当前图像左侧显示上一张图像的一部分