filter
- Node.js kursu
- Başlangıç
- Ders 60/116
- 5 dk
.filter ile koşula uyan elemanları süzmeyi öğrenirsin.
filter metodu
filter metodu, bir dizide koşula uyan elemanlardan oluşan yeni bir dizi döndürür. Koşul sağlanmazsa o eleman atlanır; orijinal dizi yine değişmez.
Sözdizimi: dizi.map(fn)'e benzer biçimde dizi.filter(fn). Burada fn, her eleman için mantıksal bir değer (true veya false) döndüren bir koşul fonksiyonudur (predicate). true dönen elemanlar sonuç dizisinde kalır.
Örnek: [1, 2, 3, 4].filter(n => n > 2) sonuçu [3, 4] olur. Çünkü yalnızca 3 ve 4, 2'den büyüktür.
filter ve predicate
filter'e verilen fonksiyona koşul fonksiyonu (predicate) denir. Bu fonksiyon mantıksal bir değer döndürür: true ise eleman alınır, false ise atlanır.
Koşul fonksiyonu dizi elemanının kendisini kullanabilir; örneğin kullanıcı yaşlarından oluşan bir listede reşit olanları seçmek için ages.filter(age => age >= 18) yazılır. Koşul ne kadar karmaşıksa, predicate o kadar okunabilir olmalıdır.
Hiçbir eleman koşulu sağlamazsa filter boş bir dizi döndürür; null veya hata vermez. Bu özelliği güvenle kullanabilirsin.
Uygulama Pahalı kitapları seç
[120, 45, 200, 80] fiyatlarından oluşan bir dizi tanımla. filter ile yalnızca 100'den büyük fiyatları içeren yeni bir dizi oluştur ve sonuçu console.log ile yazdır.
Başlangıç kodu
const prices = [120, 45, 200, 80];
// 100'den büyük fiyatları süz ve yazdırÖrnek çözüm
const prices = [120, 45, 200, 80];
const expensive = prices.filter(p => p > 100);
console.log(expensive);Beklenen çıktı
[ 120, 200 ]
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 İkiyi geçenleri süz
const nums = [1, 2, 3, 4];
const big = nums.filter(n => n ____ 2);
const nums = [1, 2, 3, 4];
const big = nums.filter(n => n > 2);
Açıklama: n > 2 koşulu 3 ve 4'ü tutar.
2 filter çıktısı ne olur?
- true
- false
- Mantıksal değer
- Yeni bir dizi Doğru cevap
Açıklama: filter her zaman yeni bir dizi döndürür, mantıksal değer değil.
3 filter parçalarını eşle
| Kavram | Anlamı |
|---|---|
dizi.filter(fn) |
Süzme çağrısı |
fn |
Koşul fonksiyonu |
true |
Elemanı tutan sonuç |
false |
Elemanı atan sonuç |