【发布时间】:2021-04-22 20:20:58
【问题描述】:
我需要实现一个函数 (flow),将它的两个参数组成一个函数式组合。
要求:
-
flow函数应将两个函数作为参数(称为fab和fbc)并返回一个新函数,该函数将fab应用于其输入参数,然后将fbc应用于结果值。
提示:
- 第一个函数称为
fab,因为它将A类型的值映射到B类型。fbc也是如此。
问题是我不知道将什么作为参数传递给 fab 函数,我是 Typescript 新手,希望能提供任何帮助!
这是我目前的代码:
type Flow = <A, B, C>(
fab: (a: A) => B, // Takes a function from A to B
fbc: (b: B) => C // Takes a function from B to C
) => (a: A) => C; // Returns a function from A to C
export const flow: Flow = (fab, fbc) => {
return fbc(fab());
};
【问题讨论】:
-
return a => fbc(fab(a));typescriptlang.org/play?#code/… -
可能值得看看 lodash 是如何做到的github.com/DefinitelyTyped/DefinitelyTyped/blob/…
-
@Keith 非常感谢!!!
标签: javascript typescript function