Для map-подобного преобразования нужны два generic-параметра: T для исходного элемента и U для результата callback.
Типизируйте функцию преобразования массива на TypeScript: определите нужные generic-типы для типа элементов исходного массива и типа результата.
Для map-подобного преобразования нужны два generic-параметра: T для исходного элемента и U для результата callback.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Для map-подобного преобразования нужны два generic-параметра: T для исходного элемента и U для результата callback.
Если преобразование сохраняет один результат на каждый элемент, контракт можно записать так:
function transform<T, U>(items: readonly T[], fn: (item: T, index: number) => U): U[] {
return items.map(fn);
}
const lengths = transform(['a', 'abc'], value => value.length);
Тип результата — number[]. Для фильтрации, группировки или асинхронного callback контракт будет другим; здесь выбрано обычное синхронное отображение.