@kot98

Как типизировать массив с вложенными элементами?

Есть массив по типу:
items: [ 
 {name:'item1',
  link:'link1',
  child: [
      {
       name:'childItem2',
       link:'childLink2',
       child: [
         {
          name:'childItem3',
          link: 'childLink3',
         },
       ]
     ]
  },
 {
  name: 'item4',
  link: ''itemLink4',
 },
 {
  name: 'item5',
  link: ''itemLink5',
  child: [ 
   {
    name: 'item6',
    link: ''itemLink6',
   }
  ],
},

То есть каждый одиночный элемент типа name: string, link: string. Я создаю тип под этот элемент:
type Item = {
 name: string, 
 link: string
}

Но теперь нужно задать тип массиву items, в котором опционально может быть массив child из таких же Item, и в массиве child может быть еще один вложенный массив child из таких же Item.
Как правильно объявить тип для items?
Без вложенных массивов child:
type Items = {
 items: Item[]
}
  • Вопрос задан
  • 106 просмотров
Решения вопроса 1
bootd
@bootd
Гугли и ты откроешь врата знаний!
interface Item {
 name: string; 
 link: string;
 child?: Array<Item>;
}

type Items = Array<Item>;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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