Я хочу иметь метод, который принимает массив объектов и массив некоторых ключей объектов. Метод возвращает массив массивов значений объекта, но только выбранных ключей.
данные:
[
{"firstName": "Jane", "lastName": "Doe"},
{"firstName": "John", "lastName": "Doe"}
]
поля:
["firstName"]
результат:
[["Jane"], ["John"]]
К настоящему времени у меня есть функция, которая обеспечивает желаемый результат, но я не уверен, как лучше обрабатывать типы.
mapToCsvData: (data: { [key: string]: any }[], fields: string[]) => {
return data.map((item: any) => {
return fields.map(field => item[field]);
});
}
Я пробовал некоторые варианты следующего фрагмента, но получаю ошибку.
mapToCsvData: <T extends object>(data: T[], fields: keyof T[]) => {
Property 'map' does not exist on type 'number'.