Modül dersleri (1/4)
harita ve filtre
İki temel yöntem: Bir diziyi orijinali değiştirmeden yeni bir diziye dönüştürürler.
map: her öğeyi dönüştür
Bir işlevi alır, onu her öğeye uygular ve aynı uzunlukta bir dizi döndürür sonuçlarla birlikte.
const numeri = [1, 2, 3, 4];
const doppi = numeri.map((n) => n * 2);
// [2, 4, 6, 8]
const stringhe = numeri.map((n) => `n=${n}`);
// ['n=1', 'n=2', 'n=3', 'n=4']Orijinaline dokunulmadan kalır:
numeri; // [1, 2, 3, 4] ← unchangedfilter: bir alt küme seç
Bir yüklem (doğru/yanlış döndüren bir işlev) alır. Yalnızca ilgili öğeleri tutar yüklem doğrudur.
const numeri = [1, 2, 3, 4, 5, 6];
const pari = numeri.filter((n) => n % 2 === 0);
// [2, 4, 6]
const grandi = numeri.filter((n) => n > 3);
// [4, 5, 6]İkisini birleştirmek
Klasik ardışık düzen: filtreleyin, ardından dönüştürün.
const prezzi = [12, 5, 100, 30, 7];
const grandiDoppi = prezzi.filter((p) => p > 10).map((p) => p * 2);
// [24, 200, 60]Deneyin
"KDV(fiyatlar, oran)"ı tanımlayın: Bir sayı dizisi ve bir oran (ör. 0,22) verildiğinde, fiyatların KDV oranında artırıldığı bir dizi döndürün. Haritayı kullanın.
İpucu göster
fiyatlar.map((p) => p * (1 + oran))
3 denemeden sonra çözüm mevcut
Alıştırmayı gözden geçirin
`adultNames(people)` tanımlayın: bir nesne dizisi alırsınız { name, age } ve yaşı >= 18 olan kişilerin adlarının dizisini döndürürsünüz. Filtre + haritayı kullanın.
İpucu göster
Zincir: .filter(...).map((p) => p.name)
3 denemeden sonra çözüm mevcut