这是我第一次使用 ramda。我正在尝试创建一个映射函数,该函数会自动为数组中的每个对象添加一个键。将有助于反应无状态函数,例如,我们可能有一个带有签名的函数
({ prop1, prop2, key }) => ...
和一个数组
[{ prop1: 'prop one', prop2: 'prop two' }, {...etc}]
这是一个工作示例:
const mapI = R.addIndex(R.map);
const mapAddIndexedProp = R.curry((key, fn) => mapI(R.pipe(R.flip(R.assoc(key)), fn)));
const mapAddKeyProp = mapAddIndexedProp('key');
但是,看到我真正想要的是一个接受字符串和函数的函数,似乎应该有一种方法来做类似的事情:
const mapAddIndexedProp = mapI(R.pipe(R.flip(R.assoc(<arg1>)), <arg2>));
但我不知道那是如何工作的。任何想法将不胜感激。
或者,很有可能,有一种更简洁的方法可以使用“over”或“transduce”之类的方法来执行此操作。谢谢!