面试题答案
一键面试function transformArray<T extends string | number>(arr: T[]): (T extends string ? number : T extends number ? number : never)[] {
return arr.map((item) => {
if (typeof item === 'string') {
return item.length as (T extends string ? number : never);
} else if (typeof item === 'number') {
return item * item * item as (T extends number ? number : never);
}
throw new Error('Unsupported type');
}) as (T extends string ? number : T extends number ? number : never)[];
}