1

我有这段代码:

var fn = function(fn, name) {
   this.commands.add(name, fn);
}.bind(this);

_.mapObjIndexed(fn, this.commandList);

我觉得有一种方法可以改进这段代码,让它只有一行。我尝试了许多不同的方法,但我是新手ramda.js,我可能会缺少一些功能,这会使这变得更容易和更简单。

4

1 回答 1

2

您似乎正在寻找flip功能/flip功能

_.mapObjIndexed(_.flip(this.commands.add), this.commandList);

如果 a .bind(this.commands)for 该add功能是必要的,您可以使用_.bindKey(this.commands, "add").

如果由于参数的数量而导致翻转无法正常工作,您可能需要投入_.ary(…, 2)or _.binary(…)

于 2016-04-05T17:15:28.083 回答