2014-09-24 16 views
5

Bu dizgiyi ramda kullanarak düz diziler olduğunu varsayarak, B dizisindeki herhangi bir değerin B kümesinde olup olmadığını kontrol ettim. Sevmediğim NeBunu daha iyi körleyebilir miyim?

var hasAtLeastOneTruthValue = ramda.contains(true); 
var alpha = [1,2,3] 
var beta = [4,1,7]; 

var valueOfArrayInArray = ramda.map(function(a_v){ 
    return ramda.contains(a_v, beta); 
}); 

console.log(hasAtLeastOneTruthValue(valueOfArrayInArray(alpha))); 

valueOfArrayInArraybeta kodlanmış olmasıdır. Farklı şekilde yapılabilir, öyle değil mi? Lütfen aynı etkiye sahip tamamen farklı bir uygulama aramıyorum, fakat sadece bu durumda daha iyi ağlamak gerektiğini unutmayın.

var valueOfArrayInArray = R.map(R.rPartial(R.contains, beta)) 

Ya Çevireyim:

cevap

6

Sen kısmen sağdan contains geçerli olabilir

var valueOfArrayInArray = R.map(R.flip(R.contains)(beta)) 
+0

Fantastik, çok teşekkür ederim! – rollingBalls

0

kullanın bağlayıcı:

var hasAtLeastOneTruthValue = ramda.contains(true); 

var alpha = [1,2,3] 
var beta = [4,1,7]; 

function finder(lookup,a_v){ 
    return ramda.contains(a_v, lookup); 
} 

var valueOfArrayInArray = ramda.map(finder.bind(null,beta)); 

console.log(hasAtLeastOneTruthValue(valueOfArrayInArray(alpha))); 
+0

Cevapladığınız için teşekkür ederiz! Bu çalışan bir çözümdür, ancak @elclanrs'ın akıcı bir şekilde çalıştığı şey olan "işlevsel" dir, bu yüzden onun kabulünü kabul ediyorum. – rollingBalls

İlgili konular