6

试图在这里找出 Ramda。Ramda 是否有将参数转换为列表的方法?例如:

R.argumentsToList(1)(2) => [1, 2]

我实际面临的问题是我的函数传递了 2 个参数,我需要使用这两个参数,但R.compose只允许最右边的函数使用多个参数。将我的论点变成一个列表可以让我绕过这个 - 或者这是一个不好的方法?

实际问题:我想将 2 个字符串传递给我的函数。那些应该变成一个合并的对象,例如:

f('firstString', 'second') => {firstString: 'firstString', second: 'second'}

我知道我可以使用R.mergeand R.objOf,但我不知道如何处理和使用传递给函数的 2 个参数。

4

2 回答 2

15

创建list函数是Ramda Cookbook中的秘诀之一。事实证明这很简单:

var list = R.unapply(R.identity);
list(1, 2, 3); // => [1, 2, 3]

这是基于 simple 的unapply,它将可变参数函数转换为接受数组的函数。

于 2015-12-07T06:40:29.360 回答
2

我设法做到了这一点R.useWith

R.useWith(R.concat, [R.of, R.of])

但是,我不确定这是否是最简单/最好的解决方案,因为我非常缺乏经验。也许有更多经验的人可以分享他们的知识?

于 2015-12-06T13:45:55.173 回答