@maksmaksimovich

Как достать данные из такого массива js?

Есть массив вида:
[
{ name: 'Максим', hobbies: [{id: 1, title: 'плавание'}, {id: 2, title: 'теннис'}] },
{ name: 'Ваня', hobbies: [{id: 3, title: 'медицина'}, {id: 4, title: 'собаки'}] }
]


В общем допустим есть id и нужно пробежаться по всем объектам вложенным, чтобы достать name этого объекта и объекта-родителя. К примеру если нужно найти id 4, тогда результат должен быть какой-нибудь такой:
{name: 'Ваня', title: 'собаки'}
  • Вопрос задан
  • 151 просмотр
Решения вопроса 2
0xD34F
@0xD34F Куратор тега JavaScript
function find(arr, id) {
  for (const { name, hobbies } of arr) {
    const { title } = hobbies.find(n => n.id === id) || {};
    if (title) {
      return { name, title };
    }
  }

  return null;
}


const data = find(arr, 4);
Ответ написан
Комментировать
Stalker_RED
@Stalker_RED
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы