export default [
{
id: 101,
league: {
id: "500",
name: "EU Champions League"
},
group: {
id: "990",
name: "Group A"
}
},
{
id: 102,
league: {
id: 600,
name: "Super Lig"
}
},
{
id: 103,
league: {
id: 500,
name: "EU Champions League"
}
},
{
id: 104,
league: {
id: 500,
name: "EU Champions League"
}
},
{
id: 105,
league: {
id: 500,
name: "EU Champions League"
},
group: {
id: "991",
name: "Group B"
}
},
{
id: 106,
league: {
id: 500,
name: "EU Champions League"
},
group: {
id: "991",
name: "Group B"
}
}
];
Here is a live demo, but it's nowhere near what I'm expecting it, it's good for reference to determine what I'm trying to do and obviously failed!
https://codesandbox.io/s/js-group-array-of-object-by-multiple-keys-8b4s0
The array of objects looks like this;
- Eu Champions League - Group A
- Super Lig
- EU Champions League
- EU Champions League
- EU Champions League - Group B
- EU Champions League - Group B
What I'm trying to do is grouping ones with same league id and ones with same league id + group name, outputting it as an object where object key is the 'league id + group id' (where needed); So it becomes like so;
{
// All objects with league id 500 and group A
'500-990': [{
id: 101,
league: {
id: "500",
name: "EU Champions League"
},
group: {
id: "990",
name: "Group A"
}
}],
// All objects with league id 600
'600': [{
id: 102,
league: {
id: 600,
name: "Super Lig"
}
}],
// All objects with league id 500 only with NO groups
'500': [{
id: 103,
league: {
id: 500,
name: "EU Champions League"
}
},
{
id: 104,
league: {
id: 500,
name: "EU Champions League"
}
}],
// All objects with league id 500 and group B
'500-991': [{
id: 105,
league: {
id: 500,
name: "EU Champions League"
},
group: {
id: "991",
name: "Group B"
}
},
{
id: 106,
league: {
id: 500,
name: "EU Champions League"
},
group: {
id: "991",
name: "Group B"
}
}],
}
'a'from the group?