MST
星途 面试题库

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

编写一个TypeScript函数,实现函数重载。该函数可以接受一个字符串参数并返回其长度;也可以接受一个数字数组参数,返回数组元素的总和。此外,利用泛型使这个函数还能接受一个任意类型数组,并返回数组的长度。
42.0万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
function myFunction(arg: string): number;
function myFunction(arg: number[]): number;
function myFunction<T>(arg: T[]): number;
function myFunction(arg: any): number {
    if (typeof arg ==='string') {
        return arg.length;
    } else if (Array.isArray(arg)) {
        if (arg.length === 0) {
            return 0;
        }
        if (typeof arg[0] === 'number') {
            return arg.reduce((acc, val) => acc + val, 0);
        } else {
            return arg.length;
        }
    }
    return 0;
}