2016-04-07 6 views
0

Ich möchte alle Elemente filtern, die einer Bedingung nicht entsprechen. Ich konnte dies an der Arbeit:Ramda-Filter, wenn nicht übereinstimmen

var a = [1,2,3]; 
function notSame(x,y) { 
    R.pipe(
    R.equals, 
    R.not 
) 
} 

R.filter(
    R.pipe(
    R.equals(1), 
    R.not), 
    a 
) // [2,3] 

Aber ich fühle mich wie es muss ein einfacherer Ansatz sein :)

+3

Warum nicht http://ramdajs.com/0.20.1/docs/#reject – elclanrs

+0

Auch gibt es "Komplement" -Funktion, Prädikatsfunktion umgekehrt machen – iofjuupasli

Antwort

4

R.reject ist, was Sie nach:

var isOdd = (n) => n % 2 === 1; 
R.reject(isOdd, [1, 2, 3, 4]); //=> [2, 4] 
R.reject(isOdd, {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, d: 4} 
+0

Ja, perfekt! Vielen Dank – JuanCaicedo

Verwandte Themen