@jjsplash

Как получить значения из массива объектов по id?

Есть массив команд АПЛ epl (для каждой команды):

points: 30
position: 1
result: "Champions League"
status: "Promotion"
team_id: 2524

Но тут нет названий команд.
Есть массив с id из массива epl и соответствующих id названий команд:

let teamNames = [ 
  { id: 2522, name: 'Arsenal' },
  { id: 2520, name: 'Aston Villa' },
  { id: 2513, name: 'Burnley' },
  { id: 2518, name: 'Brighton' },
  { id: 2537, name: 'Brentford' },
  { id: 2524, name: 'Chelsea' },
  { id: 2515, name: 'Crystal Palace' },
  { id: 2516, name: 'Everton' },
  { id: 2546, name: 'Leeds Utd' },
  { id: 12424, name: 'Leicester City' },
  { id: 2509, name: 'Liverpool' },
  { id: 12400, name: 'Manchtester City' },
  { id: 2523, name: 'Manchester Utd' },
  { id: 849, name: 'Newcastle Utd' },
  { id: 2510, name: 'Norwich City' },
  { id: 12423, name: 'Southampton' },
  { id: 12295, name: 'Tottenham' },
  { id: 2517, name: 'Watford' },
  { id: 12401, name: 'West Ham' },
  { id: 850, name: 'Wolverhampton' }
];

Как из массива teamNames получить названия команд по соответствующим id и добавить эти названия в массив epl?
  • Вопрос задан
  • 162 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Сделать из teamNames объект, где ключами будут id:

const teamNamesObj = Object.fromEntries(teamNames.map(n => [ n.id, n.name ]));

Доставать из этого объекта имена:

const eplWithNames = epl.map(n => ({ ...n, name: teamNamesObj[n.team_id] }));
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 03:52
1000 руб./за проект
19 апр. 2024, в 03:01
1000 руб./за проект
18 апр. 2024, в 21:56
2000 руб./за проект