3
有什么办法可以参数化whereEq,所以我可以删除'complete:true'并在调用下面的控制台日志示例中的函数时传递此信息?参数化函数
let incomplete = R.filter(R.whereEq({ complete: false }))
console.log(incomplete(data))
有什么办法可以参数化whereEq,所以我可以删除'complete:true'并在调用下面的控制台日志示例中的函数时传递此信息?参数化函数
let incomplete = R.filter(R.whereEq({ complete: false }))
console.log(incomplete(data))
R.wrap在这里可以帮到你。
let incomplete = R.wrap(R.filter, function(filter, array, isComplete) {
return filter(R.whereEq({ complete: isComplete }), array)
})
incomplete(data, false);
为什么不
let incomplete = (data, bool) => R.filter(R.whereEq({complete: bool}), data);
(虽然名字 '不完整' 真的不再有意义......)?
我从来没有理解'R.wrap'的观点。在这里,我们可以直接引用'R.filter',而不是将'R.filter'提供给'R.wrap'并让'R.wrap'把它给回给我们。我打开了[ramda/ramda#1818](https://github.com/ramda/ramda/pull/1818)来弃用'R.wrap'。 – davidchambers