MST

星途 面试题库

面试题:TypeScript 类型推断与联合类型的复杂场景处理

假设有一个函数 `processData`,它接受一个参数 `data`,`data` 的类型可能是一个包含 `id`(数字类型)和 `name`(字符串类型)的对象,或者是一个数字数组。如果 `data` 是对象,函数需要返回对象中 `name` 的长度;如果 `data` 是数组,函数需要返回数组中所有数字的总和。请使用 TypeScript 实现该函数,并利用类型推断和联合类型确保类型安全,写出详细代码。
38.4万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
function processData(data: { id: number; name: string } | number[]): number {
    if (Array.isArray(data)) {
        return data.reduce((acc, num) => acc + num, 0);
    } else {
        return data.name.length;
    }
}