Ramda.js:要列出的参数
Ramda.js: Arguments to list
试图在这里弄清楚 Ramda。 Ramda 是否有将参数转换为列表的方法?例如:
R.argumentsToList(1)(2) => [1, 2]
我实际面临的问题是我的函数传递了 2 个参数,我需要处理两个参数,但 R.compose
只允许最右边的函数处理多个参数。将我的论点变成一个列表可以让我绕过这个——或者那会是一个糟糕的方法吗?
实际问题:我想将 2 个字符串传递到我的函数中。那些应该变成一个合并的对象,例如:
f('firstString', 'second') => {firstString: 'firstString', second: 'second'}
我知道我可以使用 R.merge
和 R.objOf
,但我不知道如何处理和使用传递给函数的 2 个参数。
我用 R.useWith
做到了:
R.useWith(R.concat, [R.of, R.of])
但是,我不确定这是否是 easiest/best 解决方案,因为我经验不足。也许有更多经验的人可以分享他们的知识?
创建 list
函数是 one of the recipes in the Ramda Cookbook。结果很简单:
var list = R.unapply(R.identity);
list(1, 2, 3); // => [1, 2, 3]
这是基于简单的 unapply
,它将可变参数函数转换为接受数组的函数。
试图在这里弄清楚 Ramda。 Ramda 是否有将参数转换为列表的方法?例如:
R.argumentsToList(1)(2) => [1, 2]
我实际面临的问题是我的函数传递了 2 个参数,我需要处理两个参数,但 R.compose
只允许最右边的函数处理多个参数。将我的论点变成一个列表可以让我绕过这个——或者那会是一个糟糕的方法吗?
实际问题:我想将 2 个字符串传递到我的函数中。那些应该变成一个合并的对象,例如:
f('firstString', 'second') => {firstString: 'firstString', second: 'second'}
我知道我可以使用 R.merge
和 R.objOf
,但我不知道如何处理和使用传递给函数的 2 个参数。
我用 R.useWith
做到了:
R.useWith(R.concat, [R.of, R.of])
但是,我不确定这是否是 easiest/best 解决方案,因为我经验不足。也许有更多经验的人可以分享他们的知识?
创建 list
函数是 one of the recipes in the Ramda Cookbook。结果很简单:
var list = R.unapply(R.identity);
list(1, 2, 3); // => [1, 2, 3]
这是基于简单的 unapply
,它将可变参数函数转换为接受数组的函数。