2016-07-08 7 views
3

Gibt es eine Möglichkeit, woEq zu parametrisieren, so kann ich "vervollständigen: wahr" entfernen und diese Informationen weitergeben, wenn Sie die Funktion in der Konsole Beispiel unten aufrufen?Eine Funktion parametrieren

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

console.log(incomplete(data)) 

Antwort

0

R.wrap könnte hier hilfreich sein.

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

incomplete(data, false); 
+0

Ich habe nie den Sinn von 'R.wrap' verstanden. Hier könnten wir 'R.filter' direkt referenzieren, anstatt' R.filter' zu 'R.wrap' zu liefern und' R.wrap' zurückgeben zu müssen. Ich habe [ramda/ramda # 1818] (https://github.com/ramda/ramda/pull/1818) geöffnet, um 'R.wrap' abzulehnen. – davidchambers

0

Warum nicht einfach

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

(obwohl der Name 'unvollständig' wirklich nicht mehr sinnvoll ist, ...)?

Verwandte Themen