2016-07-08 1 views
3

Existe-t-il un moyen de paramétrer whereEq, afin que je puisse supprimer 'complete: true' et transmettre cette information lors de l'appel de la fonction dans l'exemple de console ci-dessous?Paramétrer une fonction

let incomplete = R.filter(R.whereEq({ complete: false })) 

console.log(incomplete(data)) 

Répondre

0

R.wrap peut être utile ici.

let incomplete = R.wrap(R.filter, function(filter, array, isComplete) { 
    return filter(R.whereEq({ complete: isComplete }), array) 
}) 

incomplete(data, false); 
+0

Je n'ai jamais compris le point de 'R.wrap'. Ici, nous pourrions référencer 'R.filter' directement plutôt que de fournir' R.filter' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ' J'ai ouvert [ramda/ramda # 1818] (https://github.com/ramda/ramda/pull/1818) pour déprécier 'R.wrap'. – davidchambers

0

Pourquoi ne pas simplement

let incomplete = (data, bool) => R.filter(R.whereEq({complete: bool}), data); 

(bien que le nom 'incomplet' pas vraiment plus de sens ...)?