javascript - lodash 流函数有什么作用?
问题描述
我正在阅读一些使用 _.flow() 来自 lodash 的代码,文档中的解释对我来说没有意义。
医生说
创建一个函数,该函数返回使用已创建函数的 this 绑定调用给定函数的结果,其中为每个连续调用提供前一个的返回值。
举个例子:
function square(n) {
return n * n;
}
var addSquare = _.flow([_.add, square]);
addSquare(1, 2);
// => 9
我已经读过几次了,但我无法弄清楚它的含义或该函数如何返回 9。我能想到的最接近的想法是折叠函数式编程,但这看起来不像那样。有没有其他方法可以解释流量的作用?
解决方案
用更简单的术语重新定义文档中的定义:它按顺序调用数组中的方法。它使用每个函数的结果作为下一个函数的参数。在给出的示例的情况下,步骤如下:
- 调用
_.add(1, 2)
,返回3
。 - 将该返回值作为参数传递给数组中的下一个函数,该函数变为
square(3)
. 这返回9
。
推荐阅读
- python - Keras 和情感分析预测
- sql - sql server 2008 r2 端口配置路径
- python - 如何为openpyxl中的工作表分配变量名?
- c# - WPF DrawingVisual中跟踪DrawingVisual的方案
- c# - OpenIddict 问题
- db2 - 在 DB2 db2dsdriver.cfg 文件中定义一个可以访问多个数据库的数据库条目
- postgresql - 如何加快对具有 180M 记录的表的查询?
- mysql - 为什么 MySQL 中没有无限的追随者?
- javascript - 数据未显示在来自 PHP JSON 的 Chart JS 中
- c++ - 为 glm::unProject 寻找备份 winZ