Есть функция customMap, которая делает почти то же самое, что и обычный map массива, но она не типизирована. Нужно её типизировать так, чтобы на пятой строчке был массив строк, на седьмой — массив чисел.

Ответ и пояснения приведены в подробном разборе ниже.

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

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

typescript function customMap<T, U>( arr: T[], transformer: (value: T, index: number, array: T[]) => U ): U[] { const result: U[] = []; for (let i = 0; i < arr.length; i++) { result.push(transformer(arr[i], i, arr)); } return result; }

Подробный разбор

Ответ с пояснениями

typescript function customMap<T, U>( arr: T[], transformer: (value: T, index: number, array: T[]) => U ): U[] { const result: U[] = []; for (let i = 0; i < arr.length; i++) { result.push(transformer(arr[i], i, arr)); } return result; }


Здесь `T` — тип элементов исходного массива, `U` — тип элементов результата. Функция `transformer` принимает три аргумента: текущий элемент, индекс и исходный массив, и возвращает элемент типа `U`.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку