2016-04-07 17 views
0

Bir koşulla eşleşmeyen tüm öğeleri filtrelemek istiyorum. Ben bu işe başardı:Ramda filtresi eşleşmiyorsa

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] 

Ama daha basit bir yaklaşım :)

+3

Neden değil http://ramdajs.com/0.20.1/docs/#reject – elclanrs

+0

Aynı zamanda "tamamlayıcı" işlevi var, bu işlevi tersine çevirmek için – iofjuupasli

cevap

4

R.reject olmalı gibi hissediyorum sen ne sonra:

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

Evet, mükemmel! Teşekkürler – JuanCaicedo