CodeBlanks Logo Icon CodeBlanks

forEach

forEach ile yan etkili döngü öğrenirsin.

forEach metodu

forEach metodu her eleman için bir işlem yapar ama değer döndürmez. Yan etki yapmak için kullanılır; örneğin her elemanı yazdırmak.

Örnek: ['Elma', 'Muz', 'Kiraz'].forEach((m) => print(m));. Bu, her meyveyi ayrı satırda yazdırır. forEach map'ten farklı olarak sonuç üretmez.

forEach bir döngü yerine geçer. Kod daha kısa ve okunaklı olur. Ancak dönüş değeri olmadığı için zincirleme kullanılamaz.

forEach ve map farkı

forEach ve map benzer görünür ama farklı amaçlara hizmet eder. map dönüştürülmüş bir koleksiyon döndürür; forEach ise hiçbir şey döndürmez.

Yazdırma gibi yan etkiler için forEach kullanılır. Dönüştürülmüş veri gerekiyorsa map kullanılır. Yanlış seçim kodun çalışmasını etkilemez ama okunaklılığı düşürür.

Örnek: meyveler.forEach((m) => print(m)); her meyveyi yazdırır. meyveler.map((m) => m.length) ise uzunluk listesi döndürür.

Uygulama Meyveleri yazdır

['Elma', 'Muz', 'Kiraz'] listesi üzerinde forEach çağır. Her meyveyi 'Meyve: ' ön ekiyle yazdır; örneğin Meyve: Elma.

Başlangıç kodu

main.dart
void main() {
  var meyveler = ['Elma', 'Muz', 'Kiraz'];
  // .forEach ile her meyveyi 'Meyve: ' ön ekiyle yazdır
}

Örnek çözüm

main.dart
void main() {
  var meyveler = ['Elma', 'Muz', 'Kiraz'];
  meyveler.forEach((f) => print('Meyve: $f'));
}

Beklenen çıktı

Meyve: Elma
Meyve: Muz
Meyve: Kiraz

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 forEach'nin dönüş değeri nedir?

main.dart
var a = [1, 2, 3].forEach((n) => print(n));
  • Yeni bir liste
  • void (değer döndürmez) Doğru cevap
  • Bir Iterable
  • Bir sayı

Açıklama: forEach değer döndürmez, void'tir.

2 forEach parçalarını eşleştir

Kavram Anlamı
(m) => print(m) Yan etki fonksiyonu
.forEach(...) Çağrı
void Dönüş tipi
print(m) Yazdırma işlemi

3 forEach çağrısı

Soru
var meyveler = ['Elma', 'Muz', 'Kiraz'];
meyveler.____((f) => print('Meyve: $f'));
Cevap
var meyveler = ['Elma', 'Muz', 'Kiraz'];
meyveler.forEach((f) => print('Meyve: $f'));

Açıklama: forEach her eleman için işlem yapar.

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