js 函数式编程(2)

简单的数据结构、高阶函数和泛化再使用这些一切一起的 javascript 特性都是适合函数式编程。

在函数式编程中代码表述性会更清晰,我们下面代码风格进行对比一种是 Imperative 后面是函数式。当然是后者更清晰,利于我们阅读代码,表示对数组每一个元素使用 print 方法。而我们更熟悉的 imperative 确实需要花一定时间来读懂代码含义。

我们先看一看 map 这个函数,输入时集合同样输出也是集合,作为参数参入 map 的函数会作用,也就是操作集合每一个元素。

如果学习过 Rxjs 一定对这张图不会陌生,map 接受一个集合,然后操作集合每一个元素,可能是转换另一种元素,或是数据结构,所有操作后的元素组成我们输出的集合。 想一想我们函数就是输入一个变量输出一个变量,他们的值是一一对应的。

我们再看一个函数式编程的常用的 reduce 函数 ,他用途就是从集合的第 N 位遍历到集合第 1 位的。并且会把每次计算的结果作为参数再次传递一个函数。

下图帮助您更好理解 reduce 这个函数,我们集合中的元素,一层一层地在原有基础上(也就是上一次的结果值)进行包裹等到最终的结果。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容