面试题答案
一键面试// 定义 transform 函数类型,考虑异步操作,返回 Promise
type TransformFunction<T, U> = (element: T) => Promise<U> | U;
// 定义高阶函数,接受 transform 函数和 data 数组
async function transformArray<T, U>(transform: TransformFunction<T, U>, data: T[]): Promise<U[]> {
const results: U[] = [];
for (const element of data) {
const transformed = await Promise.resolve(transform(element));
results.push(transformed);
}
return results;
}