Задать вопрос
@nastinapetrova555

Как присвоить двойную типизацию массиву в TypeScript?

Всем привет! столкнулась с проблемой типизации. Допустим массив может состоять либо из пустой строки, либо из объектов. Я делаю ему типизацию string[] | Categories[], где Categories - это объект. Но при этом, когда я обращаюсь к нему, как к массиву строк, возникает ошибка, что тип string[] не соотносится с типом string[] | Categories[]. И наоборот. Например, когда я делаю это:
const сategoriesValues = computed(() => {
      let сategories = props.сategories

      if (//только при этом условии) {
        сategories = сategories.filter(
          (item) => item !== '' 
        )
        сategories.push({...какой-то объект}) // ругается, что строка и объект не соотносятся
      }

      return сategories
    })

Вопрос состоит в том, как сделать так, чтобы он воспринимал его ИЛИ как строки, ИЛИ как объекты
  • Вопрос задан
  • 192 просмотра
Подписаться 1 Простой 2 комментария
Решения вопроса 2
bingo347
@bingo347 Куратор тега TypeScript
Crazy on performance...
Alexandroppolus
@Alexandroppolus
кодир
Допустим массив может состоять либо из пустой строки, либо из объектов.

из одной пустой строки?
может, проще держать либо пустой массив, либо массив с объектами?
тогда можно протипизировать как Categories[]
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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