面试题答案
一键面试function processData<T extends { [key: string]: string | number | boolean }>(obj: T): {
[K in keyof T]: T[K] extends string? number : T[K] extends number? number : T[K] extends boolean? boolean : never
} {
const result: any = {};
for (const key in obj) {
if (typeof obj[key] ==='string') {
result[key] = obj[key].length;
} else if (typeof obj[key] === 'number') {
result[key] = obj[key] * obj[key];
} else if (typeof obj[key] === 'boolean') {
result[key] =!obj[key];
}
}
return result;
}