Данные userFavSportData
, предоставляемые сервером, состоят из различных свойств:
[{
"sport": 1,
"favorites": [{
"teams": [{
"id": 123,
"name_eng": "Mozambique",
"name_rus": "Мозамбик",
"short_name_eng": "Mozambique",
"short_name_rus": "Мозамбик",
"country": {
"name_eng": "Mozambique",
"name_rus": "Мозамбик"
}
}]
}]
}, {
"sport": 3,
"favorites": [{
"teams": [{
"id": 2,
"name_eng": "Golden State Warriors",
"name_rus": "Голден Стэйт Уорриорз",
"short_name_eng": "Warriors",
"short_name_rus": "Уорриорз",
"country": {
"name_eng": "United States",
"name_rus": "США"
}
}],
"players": [{
"id": 11,
"firstname_eng": "Stephen",
"lastname_eng": "Curry",
"firstname_rus": "Стефен",
"lastname_rus": "Карри",
"team": {
"name_eng": "Spartak Moscow",
"name_rus": "Спартак Москва"
}
}, {
"id": 11,
"firstname_eng": "Stephen",
"lastname_eng": "Curry",
"firstname_rus": "Стефен",
"lastname_rus": "Карри",
"team": {
"name_eng": "CSKA Moskva",
"name_rus": "ЦСКА Москва"
}
}, {
"id": 11,
"firstname_eng": "Stephen",
"lastname_eng": "Curry",
"firstname_rus": "Стефен",
"lastname_rus": "Карри",
"team": {
"name_eng": "Golden State Warriors",
"name_rus": "Голден Стэйт Уорриорз"
}
}]
}]
}]
Как сопоставить эти данные с объектом, состоящим из свойств sport
и teams
? То же самое с опорой players
. И teams
, и players
могут отсутствовать в данных сервера.
Я мог бы сохранить данные teams
prop для всего массива ответов сервера в переменной с
const teams: Teams = []
userFavSportData.forEach((a) => a.favorites
.forEach((f) => f.teams?.forEach((t) => teams.push(t))))
но не смог сохранить все реквизиты данных сервера sport
и teams
в массиве тех же объектов, который содержит sport
и teams
для каждого go. Как я могу это сделать? Можно ли сделать это на одной карте в массиве данных сервера?
Желаемый результат:
[
{
sport: 1,
country: Object,
id: 123,
name_eng: "Mozambique",
name_rus: "Мозамбик",
short_name_eng: "Mozambique",
short_name_rus: "Мозамбик",
},
... ...
]