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

необходимо по id из объекта contourById найти в массиве contours объект, у которого в поле contourInfoDtoList есть объект с таким же id и вернуть его type, ну или name, поскольку они совпадают. я написала функцию, но у меня получается ошибка в последней строке, когда я после возвращения из функции findTypeById массива пытаюсь обратиться к его id - ошибка, что обращаюсь к undefined. Как правильно извлечь нужный type ?

const contourById = {
  id: '1',
  name: 'Тевлинско-Русскинский',
  field: 'Тевлинско-Русскинское м.',
  stratum: 'ЮС1(Ю1)',
};
const contours = [
  {
    name: 'Линия тектонических нарушений',
    contourInfoDtoList: [
      { id: '1', type: 'Внешний контур нефтеносности' },
      { id: '3', type: 'Внешний контур нефтеносности' },
    ],
  },
  {
    name: 'Зона глинизации',
    contourInfoDtoList: [
      { id: '15', type: 'Зона глинизации' },
      { id: '12', type: 'Зона глинизации' },
    ],
  },
];
const findTypeById = id => {
  const filteredContours = contours
    .map(contour => contour.contourInfoDtoList.filter(item => item.id === id))
    .filter(item => item?.length > 0)[0];
  return filteredContours;
};
const type = findTypeById(contourById.id)[0].type;
  • Вопрос задан
  • 62 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

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