MST

星途 面试题库

面试题:TypeScript中利用const泛型参数优化复杂类型推导

假设有一个函数`processArray`,它接受一个数组作为参数,数组中的元素类型不确定,但要求数组中所有元素类型必须一致。利用`const`泛型参数,实现该函数,使其能够正确推断出数组元素类型,并根据元素类型执行不同操作:如果是数字类型,返回数组元素的平均值;如果是字符串类型,返回数组中最长的字符串。
29.5万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
function processArray<T extends number | string>(arr: T[]): number | string {
    if (typeof arr[0] === 'number') {
        const sum = arr.reduce((acc, num) => acc + num, 0);
        return sum / arr.length;
    } else {
        return arr.reduce((longest, str) => str.length > longest.length ? str : longest, '');
    }
}