CodeBlanks Logo Icon CodeBlanks

forEach

.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

index.js
const scores = [85, 72, 90];
// Her notu 'Not: X' biçiminde yazdır

Örnek çözüm

index.js
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

Soru
const fruits = ['elma','armut','muz'];
fruits.forEach(f => console.____(f));
Cevap
const fruits = ['elma','armut','muz'];
fruits.forEach(f => console.log(f));

Açıklama: console.log(f) her meyveyi ayrı satıra yazar.

Başlangıç bölümündeki tüm dersler