【发布时间】:2021-05-15 13:38:07
【问题描述】:
问题是:
const arr = [
{ name1: 'value1', qty: 1, time: 1 },
{ name1: 'value2', qty: 1, time: 2 },
];
// using this reducer works!
const reducer = (acc, { name1, qty}) => {
const newQty = parseInt(acc[name1] ?? 0) + parseInt(qty); //?
return {
...acc,
[name1]: newQty
};
};
arr.reduce(reducer, {})
// this returns: {value1: sum, value2: sum, ... }
到目前为止一切都很好......但是当你拥有这个时会发生什么?
const arr2 = [
{ name2: 'valueX', qty: 1, time: 1},
{ name2: 'valueY', qty: 1, time: 2},
];
复制粘贴然后更改名称当然可以正常工作...但是还有其他方法吗?
【问题讨论】:
-
@Andreas 我实际上想分享我自己的答案,但由于某种原因,它让我等待这样做......
-
你做到了,但这并不能让你从research, research and more research中解脱出来。只有这样,当您没有找到任何针对该特定问题的任何内容时,添加一个问题,如果已经可用,则添加一个答案。并且每天至少询问一次如何对一组对象进行分组...
标签: javascript arrays mapreduce