CodeBlanks Logo Icon CodeBlanks

where

.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

main.dart
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

main.dart
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?

main.dart
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ı

Soru
var sayilar = [1, 2, 3, 4, 5, 6];
var çiftler = sayilar.____((n) => n.isEven);
Cevap
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

Orta seviye bölümündeki tüm dersler