At the moment I am working with an api that returns an array of objects that looks like
[{match_id: "255232",
country_id: "41",
country_name: "England",
league_id: "152",
league_name: "National League",
match_date: "2020-01-01",
match_status: "",
match_time: "16:00"},
{match_id: "255232",
country_id: "41",
country_name: "Italy",
league_id: "152",
league_name: "Serie a",
match_date: "2020-01-01",
match_status: "",
match_time: "16:00"},
{match_id: "255232",
country_id: "41",
country_name: "Italy",
league_id: "153",
league_name: "Serie b",
match_date: "2020-01-01",
match_status: "",
match_time: "16:00"},...
...
]
I would like to transform it in a way that ends up looking like:
const transformed = [
{
country_name: "England",
entries: [
{league_name: "National League",
events: [{},{}]}
]
},
{country_name: "Italy",
entries: [
{
league_name: "Serie a",
events: [{},{}]
},
{
league_name: "Serie b",
events: [{},{}]
}...
]]
I have tried to use .reduce but did not end up with expected output and I end up with just a reverted structure. Basically what I need is to catalogue by country_name first and league_name second.
Obviously the data is dynamic and the names of countries/leagues change often.