MST

星途 面试题库

面试题:TypeScript 中泛型与条件类型结合实现数组类型转换

请实现一个泛型函数 `transformArray`,它接收一个数组,数组元素类型为 `T`。如果 `T` 是 `string` 类型,将数组中的每个字符串转换为大写;如果 `T` 是 `number` 类型,将每个数字乘以 2。例如:`transformArray<string>(['a', 'b'])` 应返回 `['A', 'B']`,`transformArray<number>([1, 2])` 应返回 `[2, 4]`。
35.3万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
function transformArray<T>(arr: T[]): T[] {
    if (typeof arr[0] ==='string') {
        return arr.map((item: string) => item.toUpperCase()) as T[];
    } else if (typeof arr[0] === 'number') {
        return arr.map((item: number) => item * 2) as T[];
    }
    return arr;
}