MST

星途 面试题库

面试题:TypeScript类型与值集合概念在复杂数据结构中的运用

定义一个复杂的数据结构,它是一个对象数组,每个对象包含一个id(数字类型),一个name(字符串类型),以及一个subItems数组,subItems数组中的元素又是对象,这些对象有value(可能是数字或布尔值)和label(字符串)。要求编写一个TypeScript函数,该函数接收这样的对象数组,筛选出subItems中至少有一个value为true的对象,并返回这些对象的name组成的新数组。请详细写出TypeScript类型定义及函数实现。
19.2万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
// 定义subItems数组中对象的类型
type SubItem = {
    value: number | boolean;
    label: string;
};

// 定义外层对象数组中对象的类型
type MainObject = {
    id: number;
    name: string;
    subItems: SubItem[];
};

// 定义函数
function filterNames(arr: MainObject[]): string[] {
    return arr.filter(obj => {
        return obj.subItems.some(subItem => subItem.value === true);
    }).map(obj => obj.name);
}