Как определить в интерфейсе объектный массив и работать с ним? - PullRequest
1 голос
/ 04 августа 2020

У меня есть массив объектов в этом примере:

 tasks: todo =  [
      {
        title: string,
        status: number,
        description: string,
        date: Date,
        priority: number
      }
 ]

Итак, я создаю интерфейс для этого:

interface todo {
  [index: number]:{
    title: string;
    status: number;
    description: string;
    date: Date;
    priority: number;
  }
}

и когда я передаю переменную, которая имеет массив объектов В этом интерфейсе у меня есть ошибки: свойство «filter» не существует для типа «todo» и свойство «sort» не существует для типа «todo». Как предотвратить эти ошибки?

РЕДАКТИРОВАТЬ: Решение найдено:

export interface todo extends Array <{
  title: string;
  status: number;
  description: string;
  date: Date;
  priority: number;
}> {}

Также здесь хороший ответ:

interface Todo {
  title: string;
  status: number;
  description: string;
  date: Date;
  priority: number;
}

// tasks is an array of Todo
tasks: Todo[] = [...];

1 Ответ

0 голосов
/ 04 августа 2020

Ваш интерфейс должен описывать одну задачу / todo:

interface Todo {
  title: string;
  status: number;
  description: string;
  date: Date;
  priority: number;
}

// tasks is an array of Todo
tasks: Todo[] = [...];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...