MST

星途 面试题库

面试题:TypeScript 可选参数与默认参数在复杂类型及泛型中的深度应用

实现一个通用的 `combineData` 函数,它接受两个参数。第一个参数是一个数组,数组元素类型由泛型 `T` 表示。第二个参数是一个可选的对象,该对象有一个属性 `transform`,`transform` 是一个函数,接受 `T` 类型的参数并返回 `T` 类型的新值,`transform` 函数有一个默认值,这个默认值函数对传入的值不做改变直接返回。`combineData` 函数的功能是对数组中的每个元素应用 `transform` 函数,然后将结果连接成一个新的数组返回。请用 TypeScript 实现这个功能,并对函数及参数进行完整的类型标注。
25.7万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
function combineData<T>(arr: T[], options?: { transform: (value: T) => T }): T[] {
    const transform = options?.transform || ((value: T) => value);
    return arr.map(transform);
}