where
- Dart kursu
- Orta seviye
- Ders 48/116
- 5 dk
.where ile filtreleme öğrenirsin.
where metodu
where metodu bir koleksiyondan koşula uyan elemanları seçer. Özgün liste değişmez; sonuç yeni bir Iterable'dır. Süzme işlemi için kullanılır.
Örnek: var çiftler = [1, 2, 3, 4].where((n) => n.isEven);. Burada n.isEven koşulu yalnızca çift sayıları geçirir. Sonuç [2, 4] olur.
where de map gibi tembel çalışır. Sonucu görmek için toList() kullanırsın. Koşul fonksiyonu true döndüren elemanları alır, false döndürenleri eler.
where ile süzme
where metodu bir bool döndüren ok fonksiyonu alır. Fonksiyon true döndürürse eleman sonuçta kalır; false döndürürse elenir.
Örnek: var kisa = ['elma', 'muz', 'kiraz'].where((s) => s.length < 5);. Burada beş harften kısa meyveler seçilir. Sonuç: ['elma', 'muz'].
Başka örnek: var pozitif = [-2, 0, 3].where((n) => n > 0);. Yalnızca pozitif sayılar kalır: [3]. where, veriyi koşula göre daraltmanın temel aracıdır.
Uygulama Çift sayıları süz
[1, 2, 3, 4, 5, 6] listesi üzerinde where çağır. Koşul (n) => n.isEven olsun. Sonucu toList() ile listeye çevir ve yazdır.
Başlangıç kodu
void main() {
var sayilar = [1, 2, 3, 4, 5, 6];
// .where ile çift sayıları süz, toList ile listeye çevir ve yazdır
}Örnek çözüm
void main() {
var sayilar = [1, 2, 3, 4, 5, 6];
var çiftler = sayilar.where((n) => n.isEven);
print(çiftler.toList());
}Beklenen çıktı
[2, 4, 6]
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 where koşulu false dönerse eleman ne olur?
var a = [1, 2, 3].where((n) => n > 5);- Listeye eklenir
- Hata fırlatır
- Sona taşınır
- Eleneir, sonuça girmez Doğru cevap
Açıklama: where false döndüren elemanları eler.
2 where çağrısı
var sayilar = [1, 2, 3, 4, 5, 6];
var çiftler = sayilar.____((n) => n.isEven);
var sayilar = [1, 2, 3, 4, 5, 6];
var çiftler = sayilar.where((n) => n.isEven);
Açıklama: Dart'ta süzme metodu where'dir.
3 where parçalarını eşleştir
| Kavram | Anlamı |
|---|---|
(n) => n.isEven |
Çift sayı koşulu |
.where(...) |
Süzme çağrısı |
true |
Elemanı tut |
false |
Elemanı ele |