MST

星途 面试题库

面试题:TypeScript函数参数与返回值类型的泛型及逆变协变应用

编写一个通用的`map`函数,类似JavaScript中的数组`map`方法。这个函数接受一个数组和一个回调函数作为参数,回调函数的参数类型与数组元素类型相同,返回值类型可以是任意类型。使用泛型来正确定义`map`函数的参数和返回值类型,同时要考虑到类型的逆变与协变情况,确保类型安全。例如调用`map([1, 2, 3], (num) => num.toString())`能正确返回`['1', '2', '3']`,且类型标注准确无误。
38.5万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
function map<T, U>(arr: T[], callback: (arg: T) => U): U[] {
    const result: U[] = [];
    for (let i = 0; i < arr.length; i++) {
        result.push(callback(arr[i]));
    }
    return result;
}