MST

星途 面试题库

面试题:TypeScript函数重载与泛型的结合应用

编写一个TypeScript函数,实现一个通用的数组操作函数。该函数可以接收不同类型的数组,当传入数字数组时,函数返回数组元素的总和;当传入字符串数组时,函数返回数组元素连接后的字符串。要求通过函数重载和泛型来实现准确的类型定义。
43.6万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
function arrayOperation<T>(arr: T[]): T extends number ? number : T extends string ? string : never;
function arrayOperation(arr: any[]): any {
    if (arr.length === 0) return null;
    if (typeof arr[0] === 'number') {
        return arr.reduce((acc, cur) => acc + cur, 0);
    } else if (typeof arr[0] === 'string') {
        return arr.join('');
    }
    return null;
}