@lookingfor2

Как правильно описать метод с помощью TS?

Есть метод, который перебирает массив объектов, объединяя массивы из определенного ключа. Как его правильно описать с помощью TS?

// пример объекта который будет перебран
{  
 entity {
    id: 9,
    user_id: 1,
    period: 2022-07-22T08:50:23.932Z,
    created_at: 2022-07-22T08:50:23.933Z,
    accrueds: [ [AccruedEntity, AccruedEntity] ]
  },
  entity {
    id: 10,
    user_id: 1,
    period: 2022-07-22T11:29:19.106Z,
    created_at: 2022-07-22T11:29:19.107Z,
    average_salary: null,
    accrueds: [ [AccruedEntity, AccruedEntity, AccruedEntity] ]
  }
]

// пример вызова метода 
flatArray(sheets, 'accrueds')

// сам метод
 static flatArray(array, property) {
    return array?.reduce((prev, curr) => [...prev, ...curr[property]], []);
  }

// думаю делать нужно как-то так, но все же пока неверно получается
 static flatArray<T>(array: T[], property: keyof T): ??[] | [] {
    return array?.reduce((prev, curr) => [...prev, ...curr[property]], []);
  }
  • Вопрос задан
  • 55 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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