MST
星途 面试题库

面试题:TypeScript类型别名在泛型中的复杂应用

创建一个类型别名`TransformFunction`,它是一个泛型类型别名,表示一个函数,该函数接受一个类型为`T`的数组,并且返回一个新的数组,新数组中的每个元素是原数组元素经过`transformer`函数处理后的结果。`transformer`函数接受`T`类型的参数并返回`U`类型的结果。同时,编写一个函数`transformArray`,它接受`TransformFunction`类型的函数作为参数,并使用该函数对给定数组进行转换。请用TypeScript实现上述功能,包括类型别名和函数的完整代码。
37.2万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
// 创建类型别名
type TransformFunction<T, U> = (arr: T[], transformer: (arg: T) => U) => U[];

// 实现 transformArray 函数
function transformArray<T, U>(transformerFunction: TransformFunction<T, U>, arr: T[], transformer: (arg: T) => U): U[] {
    return transformerFunction(arr, transformer);
}

// 示例使用
const numbers = [1, 2, 3];
const stringTransformer = (num: number): string => num.toString();
const transformed = transformArray((arr, transformer) => arr.map(transformer), numbers, stringTransformer);
console.log(transformed);