面试题答案
一键面试// 原始数据结构类型
type OriginalType = {
data: {
items: {
subData: string
}[]
}
};
// 映射类型实现转换
type TransformedType<T> = {
subDataValues: T extends { data: { items: { subData: infer U }[] } } ? U[] : never;
};
// 转换函数
function transformData<T extends OriginalType>(data: T): TransformedType<T> {
return {
subDataValues: data.data.items.map(item => item.subData)
} as TransformedType<T>;
}