例如,我有以下数组 -
[
{
name: "abc",
value: "1"
},
{
name: "xyz",
value: "2"
},
{
name: "abc",
value: "3"
},
{
name: "abc",
value: "4"
},
{
name: "xyz",
value: "5"
},
]
现在,我想通过分组将该数组减少为单个对象value
与相同的name
一起形成一个数组。像这样的东西 -
{
abc: [1, 3, 4],
xyz: [2, 5]
}
我该如何使用reduce
在 JavaScript 中?
我不确定这是否是正确的方法,但我尝试过类似的方法,但它没有给我所需的输出。
const data = arr.reduce((acc, item) => {
return {
...acc,
[item.name]: [item.value, acc[item.value]]
};
});