【发布时间】:2020-11-11 07:54:29
【问题描述】:
我的函数中有三个参数。第三个参数是我想用第二个参数的参数调用的函数。我有什么办法吗?
callFuncWithArgs(
nthArg(1),
nthArg(2),
)(null, 3, a => a * a) // 9
【问题讨论】:
-
是的,有一种方法可以做到。
-
@evolutionxbox 怎么样?
-
取决于你目前为止的尝试
-
我并没有真正遵循您的示例,它似乎包含一些无关紧要的复杂情况 - 但您可以轻松定义一个函数,其中一个参数被调用,另一个参数作为其参数,只需
const f = (func, val) => func(val)就可以了那个。 -
您是否正在寻找像
const foo = (_, x, f) => f(x)这样简单的东西?或者您真的需要上面的 API,其中callFuncWithArgs的初始参数采用说明如何从完整参数列表中提取两个相关参数然后将实际参数传递给结果函数的函数?这稍微复杂一些,但肯定不会太难:const callFuncWithArgs = (getX, getFn) => (...args) => getFn (...args) (getX (...args))
标签: javascript functional-programming ramda.js