我正在尝试按照ID对follow数组进行分组。
我曾经尝试过使用lodash,但我的结果也是复制id,即"id":[6,6,6,6]
这是我现有的数组;
[
{
"nestedGroups": 64,
"id": 6
},
{
"nestedGroups": 27,
"id": 6
},
{
"nestedGroups": 24,
"id": 6
},
{
"nestedGroups": 69,
"id": 6
}
]
我的预期结果是使用id作为键将nestedGroups组合成一个数组。
[
{
"nestedGroups": [64,27,24,69],
"id": 6
}
]
答案 0 :(得分:1)
您可以使用reduce()
和find()
let arr = [ { "nestedGroups": 64, "id": 6 }, { "nestedGroups": 27, "id": 6 }, { "nestedGroups": 24, "id": 6 }, { "nestedGroups": 69, "id": 6 } ]
const res = arr.reduce((ac,a) => {
let temp = ac.find(x => x.id === a.id);
if(!temp) ac.push({...a,nestedGroups:[a.nestedGroups]})
else temp.nestedGroups.push(a.nestedGroups)
return ac;
},[])
console.log(res)