【发布时间】:2020-07-28 03:00:25
【问题描述】:
我想减少一个数组,其中具有相同 id 的项目对其属性之一求和。
数组看起来像这样
array = [
{
id: 123,
qty: 10,
unit: 'dollar'
},
{
id: 456,
qty: 15,
unit: 'euro'
},
{
id: 123,
qty: 20,
unit: 'dollar'
}]
结果是一个看起来像这样的数组
array = [
{
id: 123,
qty: 30,
unit: 'dollar'
},
{
id: 456,
qty: 15,
unit: 'euro'
}]
我一直在尝试使用 reduce 来做到这一点,但无济于事。
【问题讨论】:
-
Array .filter() 方法。查看 mdn 文档developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…
-
@MFK34,过滤器是错误的工具。
-
@trincot,为什么使用过滤器会出错?
-
@MFK34,因为您需要来自所有对象的信息。
-
@tincot,哦,好的,你能给我举个例子,说明 .filter 最好在哪里使用或推荐在哪里使用。我只是想了解为什么与为什么不过滤。如果您有任何文档/链接来解释使用各种数组方法的推荐方法。谢谢
标签: javascript arrays object reduce