Типизируйте функцию преобразования массива на TypeScript: определите нужные generic-типы для типа элементов исходного массива и типа результата.

Для map-подобного преобразования нужны два generic-параметра: T для исходного элемента и U для результата callback.

Короткий ответ

Что ответить на собеседовании

Для 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 контракт будет другим; здесь выбрано обычное синхронное отображение.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее