MST

星途 面试题库

面试题:TypeScript元组在泛型和条件类型中的复杂应用

创建一个TypeScript泛型函数,该函数接受一个元组作为参数,元组中的每个元素都是一个函数类型。函数需要遍历元组中的函数,并依次调用它们,同时根据元组中函数的返回值类型,通过条件类型来决定最终返回值的类型。例如,如果所有函数都返回字符串,则最终返回字符串数组;如果所有函数都返回数字,则最终返回数字数组;若返回值类型不一致,返回never类型。
13.6万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
function callFunctions<T extends ((...args: any[]) => any)[]>(funcs: T): {
    [K in keyof T]: ReturnType<T[K]>
} extends infer R ? (R extends string[] ? string[] : R extends number[] ? number[] : never) : never {
    return funcs.map(func => func()) as any;
}