Есть метод, который перебирает массив объектов, объединяя массивы из определенного ключа. Как его правильно описать с помощью 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]], []);
}