欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

高阶函数-懂了你就进入升华了

程序员文章站 2024-03-26 10:02:11
...

首先看这个高阶函数

const compose = (...fns) =>(arg) => fns.reduce(
    (composed, f) => f(composed),
    arg
)

书中解释

函数compose接受函数作为参数,并且会返回一个独立的函数。在上述代码中,扩展运算符主要用于将这些函数参数添加到名为fns的数组中。随后将会返回可以接受一个参数的函数,及arg。当该函数被调用时,数组fns将会作为在函数之间传递数据的起始管道。这些参数会作为composed的初始值,然后它会累计reduce回调函数的返回值。注意,回调函数会接受两个参数:(一个composed,另一个是代表函数的f),每个函数被调用后的结果累积就是上一函数的输出结果)总之,最后一个函数被调用并返回了结果。

看的我是云里雾里,没辙我把这段代码敲了两遍,然后把这段中文解释也手动打了一遍。最终,得出一个结论,这个高阶函数牛逼啊。但是让我说清楚点,我还是解释不清楚,大家有什么好的想法。

欢迎留言参与讨论

我将随时更新关于这个牛逼高阶函数的理解

相关标签: 高阶函数