I am looking to find a way to combine objects in arrays based on id values. I can make it work using the filter method for the top level, but not sure how to make sure that all subGroups and such are merged properly. Here is an example:
[
{
id: 1,
name: "A"
subGroup: [
{
id: 1,
name: "AA"
}
]
},
{
id: 2,
name: "B"
subGroup: [
{
id: 4,
name: "DD"
}
]
},
{
id: 1,
name: "A"
subGroup: [
{
id: 2,
name: "BB"
}
]
},
{
id: 3,
name: "C"
subGroup: [
{
id: 5,
name: "EE"
}
]
},
{
id: 2,
name: "B"
subGroup: [
{
id: 4,
other: "Something else"
}
]
},
{
id: 1,
name: "A"
subGroup2: [
{
id: 7,
name: "GG"
}
]
},
{
id: 1,
name: "A"
subGroup: [
{
id: 1,
name: "AA",
subSubGroup: [
id: 10,
name: "II",
]
}
]
}
]
I am looking to take something like that and merge it like:
[
{
id: 1,
name: "A"
subGroup: [
{
id: 1,
name: "AA",
subSubGroup: [
id: 10,
name: "II",
]
},
{
id: 2,
name: "BB"
}
],
subGroup2: [
{
id: 7,
name: "GG"
}
]
},
{
id: 2,
name: "B"
subGroup: [
{
id: 4,
name: "DD",
other: "Something else"
}
]
},
{
id: 3,
name: "C"
subGroup: [
{
id: 5,
name: "EE"
}
]
}
]
Any help would be appreciated.