forEach
- Dart kursu
- Orta seviye
- Ders 50/116
- 5 dk
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
void main() {
var meyveler = ['Elma', 'Muz', 'Kiraz'];
// .forEach ile her meyveyi 'Meyve: ' ön ekiyle yazdır
}Örnek çözüm
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?
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ı
var meyveler = ['Elma', 'Muz', 'Kiraz'];
meyveler.____((f) => print('Meyve: $f'));
var meyveler = ['Elma', 'Muz', 'Kiraz'];
meyveler.forEach((f) => print('Meyve: $f'));
Açıklama: forEach her eleman için işlem yapar.