javascript - 在 Ramda 中获取管道的先前值
问题描述
我在 Javascript 中有这段代码:
const R = require('ramda')
const f1 = () => 4
const f2 = () => 5
const f3 = value => value + 1
R.pipe(
f1,
f2,
f3,
console.log
)() // output = 6
出于某种原因,我需要 f1() 在 f3() 上产生的值。
我怎样才能做到这一点?
谢谢。
解决方案
我已经改变了我对这个问题的看法。
我想:如果 f3() 需要 f1() 和 f2() 的一些值,为什么不在 f3 上明确说明呢?
我注意到只使用管道不是正确的选择。
我在 Ramda 文档上搜索并找到了收敛函数。
这解决了我的问题(从原始问题编辑):
const R = require('ramda')
const f1 = () => 4
const f2 = () => 5
const f3 = (v1, v2) => v1 + v2
R.pipe(
R.converge(f3, [f1, f2]),
console.log
)() // output 9
推荐阅读
- php - 如何在php中以法语在每月的第一天之后显示er?
- xaml - 如何将我的 ListView 绑定转换为 x:Bind?
- html - 在 Html 中自动播放音频文件
- c# - PXSelect 语句翻译
- github - 在 GithubDesktop 中禁用 2FA
- acumatica - 如何获取 SurveyMonkey 调查 ID
- c# - 为什么net.socket.connect在Win10下不起作用(在win7下工作)?
- python - PySpark:Python 字典中所有数据帧的联合
- sql-server - SQL Server EF Core 行删除性能
- spring-boot - SpringBoot 1 vs 2 和 Spring Oauth2- 密码授予和客户端密码