son R.sum ile ramda dönüştürücüler
Aug 30 2020
Ramda'nın dönüştürücülerini anlamaya çalışıyorum. Dokümanlardan biraz değiştirilmiş bir örnek:
const numbers = [1, 2, 3, 4];
const isOdd = (x) => x % 2 === 1;
const firstFiveOddTransducer = R.compose(R.filter(isOdd), R.take(5));
R.transduce(firstFiveOddTransducer, R.flip(R.append), [], R.range(0, 100)); //=> [ 1, 3, 5, 7, 9 ]
Peki ya ortaya çıkan dizinin öğelerini toplamak istersem? Aşağıdaki (sadece ekleyerek R.sumiçine R.composeçalışmıyor):
const firstFiveOddTransducer = R.compose(R.filter(isOdd), R.take(5), R.sum);
Yanıtlar
4 Hitmands Aug 30 2020 at 21:41
Böyle bir şey yapardım, sadece ilk 0 değerinin üzerine biriktiririm
const list = [1, 2, 3, 4, 5];
const isOdd = R.filter(n => n % 2);
const transducer = R.compose(isOdd);
const result = R.transduce(transducer, R.add, 0, list);
console.log(
'result',
result,
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/ramda/0.27.1/ramda.min.js" integrity="sha512-rZHvUXcc1zWKsxm7rJ8lVQuIr1oOmm7cShlvpV0gWf0RvbcJN6x96al/Rp2L2BI4a4ZkT2/YfVe/8YvB2UHzQw==" crossorigin="anonymous"></script>
Nicole Kidman, Michael Keaton ve Val Kilmer'in Batman Olarak Paylaştığı Bu 1 Çekici Özelliğe Bayıldı
Gene Simmons, KISS Çizgi Romanlarının Potansiyel Olarak "İnsanlığı Yeniden Yaratabileceğini" Söyledi
Kevin Jonas'ın Kızı Alena, Doğum Günü Fotoğrafında Büyümüş Görünüyor: '9 Yaşında Gerçek Hissetmiyor'
Tom Girardi Dolandırıcılık Suçlamalarından Yargılanma Yetkisinin Belirlenmesi İçin Duruşmaya Katıldı