Özet - Arrow fonksiyonlar
Arrow fonksiyonları kullanarak bir dizi filtreleme ve sıralama aracı yazarsın.
Özet - Arrow fonksiyonlar
Bu grupta arrow fonksiyonları öğrendin: => oku, kısa ve blok gövde, parametre kullanımı, lexikal this ve constructor olamama. Şimdi bunları bir arada kullanacağın küçük bir araç yazacaksın.
Hedef: ürün dizisini fiyatla filtreleyip sıralayan ve toplamını bulan bir araç. Tüm fonksiyonlar arrow olacak.
Uygulama Fiyatla filtrele ve sırala
filterByPrice arrow fonksiyonu yaz. maxPrice parametresi alsın. products dizisinde fiyatı maxPrice'dan küçük veya eşit olanları filter ile seçip, fiyatı küçükten büyüğe sort ile sıralasın. İkisinde de arrow callback kullan.
Örnek çözümü göster
const filterByPrice = (maxPrice) => {
return products
.filter((p) => p.price <= maxPrice)
.sort((a, b) => a.price - b.price);
};
Uygulama Toplam fiyatı bul
totalPrice arrow fonksiyonu yaz. items parametresi alsın ve reduce ile tüm ürünlerin fiyatlarını toplayıp döndürsün. Başlangıç değeri 0 olsun.
Örnek çözümü göster
const totalPrice = (items) =>
items.reduce((sum, item) => sum + item.price, 0);
Kendini test et
-
Hangisi doğrudur?
- Arrow fonksiyon new ile çağrılabilir
- Tek parametreli arrow'da parantez isteğe bağlıdır
- Arrow'ın kendi arguments nesnesi vardır
- Blok gövdede return yazılmaz
Cevabı göster
Tek parametreli arrow'da parantez isteğe bağlıdır — Doğru. Tek parametrede parantez bırakılabilir: <code>n => n + 1</code>.
-
Kavramları eşleştir
- => oku
- arrow fonksiyon
- lexical this
- dış kapsamı miras alır
- ...args
- rest parametre
- new arrow
- TypeError fırlatır
-
Sonuç ne?
[5, 10, 15].reduce((a, b) => a + b, 0);- 15
- 25
- 30
- 0
Cevabı göster
30 — Doğru. 0 + 5 + 10 + 15 = 30.