MST

星途 面试题库

面试题:深入理解TypeScript类型与值集合概念并处理类型推导问题

在TypeScript中,有一个通用函数`combine`,它接收两个数组,并且返回一个新数组,新数组中的元素是两个输入数组对应位置元素组成的对象。例如`combine([1, 2], ['a', 'b'])`返回`[{value1: 1, value2: 'a'}, {value1: 2, value2: 'b'}]`。请使用类型参数和条件类型,实现`combine`函数的类型定义,使得TypeScript能够正确推导返回值的类型,并且要处理输入数组长度不一致时的类型情况(可以选择抛出错误或者做合适的类型处理)。
15.2万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
function combine<T, U>(arr1: T[], arr2: U[]): { value1: T; value2: U }[] {
    if (arr1.length!== arr2.length) {
        throw new Error('两个数组长度必须一致');
    }
    const result: { value1: T; value2: U }[] = [];
    for (let i = 0; i < arr1.length; i++) {
        result.push({ value1: arr1[i], value2: arr2[i] });
    }
    return result;
}