forEach
- Node.js kursu
- Başlangıç
- Ders 63/116
- 5 dk
.forEach ile yan etkili döngü öğrenirsin.
forEach metodu
forEach metodu, dizinin her elemanı için bir fonksiyon çağırır ve yan etki üretir. map gibi yeni bir dizi dönmez; sonuç undefined'dır.
Sözdizimi: dizi.forEach(fn). Burada fn, her eleman için çağrılan fonksiyondur. Tipik kullanım, her elemanı ekrana yazdırmak, bir dosyaya kaydetmek veya bir sayacı güncellemektir. Dönüşüm istiyorsan map kullanmalısın; forEach yalnızca yan etki içindir.
Örnek: ['elma','armut','muz'].forEach(m => console.log(m)) her meyveyi ayrı bir satıra yazar. forEach'in sonuçu undefined olduğu için onu bir değişkene atamak anlamsızdır.
forEach ve map farkı
forEach ile map'i karıştırmak kolaydır. İkisi de her elemanı gezmeni sağlar; fark dönüş değerindedir. map bir dizi döndürür ve dönüşüm için kullanılır. forEach ise undefined döndürür ve yan etki için kullanılır.
map'ün döndürdüğü diziyi kullanmıyorsan, forEach daha uygun olur. Tersine, forEach'in sonuçunu bir değişkene atamak veya zincirlemek hatalıdır çünkü sonuç undefined'dır.
Örnek: [1,2,3].forEach(n => console.log(n)) her sayıyı yazar. [1,2,3].map(n => n * 2) ise [2,4,6] dizisini döndürür. Hangi yöntemi seçeceğin, sonuçu kullanıp kullanmayacağına bağlıdır.
Uygulama Notları yazdır
[85, 72, 90] notlarından oluşan bir dizi tanımla. forEach ile her notu "Not: X" biçiminde (X yerine not) console.log ile yazdır. Şablon dize kullanabilirsin: `Not: ${n}`.
Başlangıç kodu
const scores = [85, 72, 90];
// Her notu 'Not: X' biçiminde yazdırÖrnek çözüm
const scores = [85, 72, 90];
scores.forEach(n => console.log('Not: ' + n));Beklenen çıktı
Not: 85 Not: 72 Not: 90
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 forEach parçalarını eşle
| Kavram | Anlamı |
|---|---|
dizi.forEach(fn) |
Çağrı |
fn |
Her eleman için çağrılan fonksiyon |
yan etki |
forEach'in ürettiği şey |
undefined |
forEach'in döndürdüğü değer |
2 forEach ne döndürür?
- true
- Yeni dizi
- undefined Doğru cevap
- Eleman sayısı
Açıklama: forEach dönüş değeri undefined'dır, dizi dönmez.
3 Listeyi yazdır
const fruits = ['elma','armut','muz'];
fruits.forEach(f => console.____(f));
const fruits = ['elma','armut','muz'];
fruits.forEach(f => console.log(f));
Açıklama: console.log(f) her meyveyi ayrı satıra yazar.