当单独使用Ramda.remove()
时,该函数接受一个数组并输出一个数组:
const grid = {rows: [1, 2, 3]};
R.remove(1, 1, grid.rows) // output: [1,3]
当我在Ramda.remove()
中使用Ramda.evolve()
作为转换函数时,它变为对象{"0": 1, "1": 2, "2": 3}
而不是数组[1,3]
:
const grid = {rows: [1, 2, 3]};
R.evolve({
rows: R.remove(1, 1, grid.rows)
})(grid); // output:{"rows": {"0": 1, "1": 2, "2": 3}}
我是否正确了解evolve
或是个错误?
答案 0 :(得分:2)
我想象你最想要的是
rows: R.remove(1, 1)
这将为您提供从列表到该列表的缩短版本的功能。
答案 1 :(得分:0)
就在写这个问题时,我意识到了什么是错的。我必须在函数中包装R.remove
或绑定args。基本上,我需要将引用传递给函数。
rows: () => R.remove(1, 1, grid.rows)