@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? Буду благодарен за любую подсказку!
  • Вопрос задан
  • 126 просмотров
Решения вопроса 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] }));
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы