【发布时间】:2020-04-08 08:01:59
【问题描述】:
我正在获取一个包含一组对象的对象,并且我正在尝试遍历它们以通过 id 引用对数据求和。
如果我有这样的功能,这可能比解释更容易展示......
let projectArray = this.projects
projectArray.forEach(function (el) {
console.log(el.categoriesTotal)
})
我得到了一个很好的返回数组,其中包含我所追求的对象,看起来像这样.....
[
{ _id: 6, total: 4478.4 },
{ _id: 1, total: 110248.13 },
{ _id: 7, total: 663695.1 }
]
[
{ _id: 7, total: 31278 },
{ _id: 1, total: 67174.66 },
{ _id: 4, total: 3712.8 },
{ _id: 8, total: 670 }
]
...
我想要做的是通过 id 引用返回总和,例如
_id: 1, total: 177422.79,
_id: 6, total: 4478.4
我认为我想要的方法是“减少”,但我尝试跟随this answer,但我收到一个错误,告诉我“减少不是函数”,可能是因为我试图“减少”不止一个数组。
如何从这些数组返回总和?
【问题讨论】:
-
那么你有一个数组数组?
-
您是否尝试从二维数组生成单个数组并使用reduce?
-
@Mulli 我没有尝试生成单个数组,不(不确定如何)
-
只需对您的 projectArray 使用
flat()方法,以便它创建新数组,其中所有子数组元素递归连接到指定深度,然后您可以使用 reduce 来总结值
标签: javascript arrays node.js