MST

星途 面试题库

面试题:TypeScript可变元组类型与泛型结合应用

创建一个TypeScript的泛型函数,该函数接受一个可变元组类型的参数,元组的每个元素类型为T或U。函数要能够根据元组元素的类型,将T类型的元素收集到一个数组中,U类型的元素收集到另一个数组中,并以对象的形式返回,对象结构为{ typeTArray: T[], typeUArray: U[] }。请使用TypeScript的类型系统确保函数的正确性。
12.8万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
function collectByType<T, U>(tuple: readonly (T | U)[]): { typeTArray: T[]; typeUArray: U[] } {
    const typeTArray: T[] = [];
    const typeUArray: U[] = [];
    tuple.forEach((element) => {
        if (Array.isArray(typeTArray) && element in typeTArray) {
            typeTArray.push(element as T);
        } else {
            typeUArray.push(element as U);
        }
    });
    return { typeTArray, typeUArray };
}