map, filter, reduce ve forEach arasındaki farklar nelerdir?
Cevap
- forEach: her eleman için fonksiyon çalıştırır, hiçbir şey döndürmez (
undefined). Yan etki içindir. - map: her elemanı dönüştürür, aynı uzunlukta yeni dizi döndürür.
- filter: koşulu sağlayan elemanlarla yeni dizi döndürür.
- reduce: diziyi tek bir değere indirger (toplam, nesne, başka bir dizi).
const urunler = [
{ ad: "Kalem", fiyat: 10, stok: 5 },
{ ad: "Defter", fiyat: 40, stok: 0 },
{ ad: "Silgi", fiyat: 5, stok: 12 },
];
const stoktakiler = urunler.filter(u => u.stok > 0);
const adlar = stoktakiler.map(u => u.ad); // ["Kalem", "Silgi"]
const toplamDeger = urunler.reduce((t, u) => t + u.fiyat * u.stok, 0); // 110Hiçbiri orijinal diziyi değiştirmez; zincirlenebilmeleri fonksiyonel stilin temelidir.
İlgili JavaScript soruları
Bu konuda başka bir soru biliyor musun?
Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.