面试题答案
一键面试function compose<F extends ((...args: any) => any)[]>(...funcs: F): ((...args: Parameters<F[0]>) => ReturnType<F[F extends ((...args: any) => infer R) ? F['length'] - 1 : never]>) {
return funcs.reduce((acc, func) => {
return function(this: any, ...args: any) {
return func(acc.apply(this, args));
};
});
}