Tüm blog yazıları

JavaScript’te forEach() Metodu

JavaScript programlama dilinde dizilerle çalışırken sıkça karşımıza çıkan işlemlerden biri, bir dizinin tüm elemanlarını sırayla işlemek, yani her eleman için aynı veya benzer bir işlemi gerçekleştirmektir. Bu gibi durumlarda forEach metodu oldukça işe yarar bir araçtır.

eminbasbayan3 dk okuma
JavaScript’te forEach() Metodu

JavaScript programlama dilinde dizilerle çalışırken sıkça karşımıza çıkan işlemlerden biri, bir dizinin tüm elemanlarını sırayla işlemek, yani her eleman için aynı veya benzer bir işlemi gerçekleştirmektir. Bu gibi durumlarda forEach metodu oldukça işe yarar bir araçtır. Bu makalede forEach metodunu detaylı bir şekilde ele alacak, çeşitli örneklerle nasıl kullanıldığını göstereceğiz. Konuyu özellikle yeni başlayanlar ve lise seviyesindeki öğrenciler için sade ve anlaşılır bir dille aktaracağız.

forEach Nedir?

forEach, JavaScript’te yerleşik olarak bulunan bir dizi (array) metodudur. Amacı, bir dizinin her elemanı için belirli bir işlemi gerçekleştirmektir. Bu işlemi tanımlayan fonksiyon forEach metoduna parametre olarak verilir. Bu fonksiyon, dizideki her eleman için bir kez çalıştırılır ve her seferinde o eleman, fonksiyona otomatik olarak gönderilir.

Temel Kullanım

Aşağıdaki örnekte, birkaç şehir isminden oluşan bir diziyi ele alalım:

jsx
const sehirler = ["Ankara", "İzmir", "Eskişehir", "Bursa"];

Bu şehirleri sırayla ekrana yazdırmak istiyoruz. Bunu forEach kullanarak şu şekilde yapabiliriz:

jsx
sehirler.forEach(function(sehir) {
  console.log(sehir);
});

Yukarıdaki kodda şu işlemler gerçekleşiyor:

  • forEach metodu, sehirler dizisinin her bir elemanı için bir işlem yapacak.
  • Her bir şehir adı, sehir adlı parametreye atanarak fonksiyonun içine gönderilir.
  • Fonksiyon içindeki console.log(sehir) ifadesi ile her şehir ismi ekrana yazdırılır.

Koşullu İşlem: Belirli Elemanları Seçmek

forEach sadece tüm elemanları işlemekle kalmaz, belirli koşullara uyan elemanlar üzerinde işlem yapmamıza da imkân tanır. Örneğin, aşağıdaki öğrenci notlarından sadece 70 ve üzeri olanları yazdıralım:

jsx
const notlar = [45, 82, 67, 90, 74, 59];

notlar.forEach(function(not) {
  if (not >= 70) {
    console.log(`Başarılı not: ${not}`);
  }
});

Bu örnekte:

  • Dizideki her not kontrol edilir.
  • Eğer not 70 veya daha yüksekse, o not ekrana yazdırılır.

Daha Karmaşık Yapılar: Nesne Dizileri

Gerçek hayatta diziler genellikle sadece sayılardan veya metinlerden oluşmaz. Çoğu zaman dizinin her elemanı bir nesne (object) olur. Örneğin, her biri bir kitabı temsil eden nesneler içeren bir dizi düşünelim:

jsx
const kitaplar = [
  { isim: "Tutunamayanlar", sayfa: 724 },
  { isim: "Kürk Mantolu Madonna", sayfa: 160 },
  { isim: "Serenad", sayfa: 480 }
];

Her kitap için "Kitap Adı - Sayfa Sayısı" formatında bilgi yazdırmak istiyorsak:

jsx
kitaplar.forEach(function(kitap) {
  console.log(`${kitap.isim} - ${kitap.sayfa} sayfa`);
});

Açıklayalım:

  • kitaplar.forEach(...) satırı, her kitap nesnesi için bir işlem başlatır.
  • kitap parametresi o anki kitabı temsil eder.
  • Template literal (şablon metin) kullanılarak kitap adı ve sayfa sayısı birleştirilir.

Neden forEach Kullanılır?

Bugünlerde for...of döngüsü veya map, filter gibi modern metotlar daha sık tercih ediliyor olsa da forEach hâlâ çok güçlü ve anlaşılır bir araçtır. Özellikle:

  • Yeni başlayanlar için okunabilirliği yüksektir.
  • Fonksiyonlarla birlikte kullanımı, daha fonksiyonel bir programlama tarzı sunar.
  • Geçici ve tekrar edilmeyecek işlemler için idealdir.

Örneğin bir dizideki her elemanı sadece ekrana yazdırmak veya sunucuya göndermek gibi işlemlerde, forEach oldukça uygundur.

Sık Yapılan Hatalar

  • forEach bir değer döndürmez, yani return kullanılsa bile bu değer dışarıya aktarılmaz. Sadece yan etkiler için (yazdırmak, veri kaydetmek gibi) kullanılır.
  • break ya da continue gibi döngü kontrol komutları çalışmaz. Her eleman sırayla işlenir ve döngü yarıda kesilemez.

Sonuç

forEach, JavaScript’te dizilerle çalışırken elimizin altında bulunması gereken en temel araçlardan biridir. Basit kullanım yapısıyla hem öğretici hem de pratik bir yapıdır. Gerek basit dizi işlemlerinde gerekse nesne dizilerinde rahatlıkla kullanılabilir. Yeni başlayanlar için fonksiyonlarla çalışma alışkanlığı kazandırması açısından da oldukça değerlidir.

Kod yazarken her zaman amaç okunabilir ve sade bir yapı kurmak olmalıdır. forEach, bu amaca uygun birçok senaryoda size yardımcı olabilir. Bu metodu iyi kavrayan biri, ilerleyen süreçte map, filter, reduce gibi daha ileri fonksiyonel dizimlere geçişte zorlanmayacaktır.

JavaScript Classes ile pratik uygulamalar, metotlar arası iletişim ve gerçek dünya kod örnekleri
JavaScript Dersleri9 dk okuma

JavaScript Classes - Pratik Uygulamalar

JavaScript class'ları ile pratik uygulamalara geçin! Metotlar arası iletişimden constructor'da metot çağırmaya, kod tekrarını azaltmaktan gerçek dünya senaryolarına kadar class kullanımının inceliklerini keşfedin. Kendi alışveriş sepeti örneğinizle bilginizi pekiştirin.

Yazıyı oku
JavaScript class yapısını gösteren bir kod örneği, ES6 ile modern nesne oluşturma
JavaScript Dersleri9 dk okuma

JavaScript Classes

ES6 ile JavaScript'e gelen class yapısı sayesinde nesne oluşturmak artık çok daha kolay ve düzenli! Constructor function karmaşasından kurtulup, okunabilir ve yönetilebilir kodlar yazmak isteyenler için modern JavaScript'in temel taşı olan class'ları tüm detaylarıyla keşfedin. Bu rehberle nesne şabl

Yazıyı oku
JavaScript kodunda Constructor Function ve new keyword'ü ile nesne oluşturma örnekleri
JavaScript Dersleri8 dk okuma

Constructor Functions ve new Keyword

Factory Function'ların hafıza israfı sorununa Constructor Function'lar ve new keyword'ü ile son verin! Metotları paylaştırarak JavaScript objelerini daha verimli nasıl oluşturacağınızı, new'in perde arkasında neler yaptığını ve prototype sisteminin gücünü bu rehberde keşfedin.

Yazıyı oku

Çerez tercihlerin

Platformun çalışması için zorunlu çerezler kullanıyoruz. İzin verirsen anonim kullanım verilerini ölçüyoruz. Ayrıntıları incele