JavaScript Dizi (Array) Fonksiyonları: filter, map, forEach ve Daha Fazlası
JavaScript’te diziler üzerinde işlem yapmak için kullanılan filter, map, forEach, reduce ve diğer array method’lar, daha temiz ve performanslı kod yazmanızı sağlar.
Bu rehberde JavaScript dizi fonksiyonları nasıl çalışır, hangi durumda hangisi kullanılır ve aralarındaki farklar nelerdir detaylı şekilde inceleyeceğiz.
JavaScript Dizi Fonksiyonları: filter, map, forEach ve Daha Fazlası
1. filter Fonksiyonu
filter(), belirli bir koşulu sağlayan elemanları seçerek yeni bir dizi döndürür.
const numbers = [1, 2, 3, 4, 5];
const evenNumbers = numbers.filter(num => num % 2 === 0);
Sonuç: [2, 4]
2. map Fonksiyonu
map(), dizideki her elemanı dönüştürerek yeni bir dizi oluşturur.
const doubledNumbers = numbers.map(num => num * 2);
Sonuç: [2, 4, 6, 8, 10]
3. forEach Fonksiyonu
forEach(), her eleman üzerinde işlem yapmak için kullanılır. Yeni dizi döndürmez.
numbers.forEach(num => console.log(num));
4. reduce Fonksiyonu
reduce(), tüm elemanları tek bir değere indirger.
const sum = numbers.reduce((acc, num) => acc + num, 0);
Sonuç: 15
5. some ve every
some()
En az bir eleman koşulu sağlıyor mu kontrol eder.
const hasEven = numbers.some(num => num % 2 === 0);
every()
Tüm elemanlar koşulu sağlıyor mu kontrol eder.
const allEven = numbers.every(num => num % 2 === 0);
6. find ve findIndex
find()
İlk eşleşen elemanı döndürür.
const firstEven = numbers.find(num => num % 2 === 0);
findIndex()
İlk eşleşen elemanın indeksini verir.
const firstIndex = numbers.findIndex(num => num % 2 === 0);
7. sort Fonksiyonu
sort(), diziyi sıralamak için kullanılır.
numbers.sort((a, b) => a - b);
Sonuç: [1,2,3,4,5]
8. reduceRight Fonksiyonu
reduceRight(), reduce ile aynı çalışır ancak sağdan sola işler.
const result = numbers.reduceRight((acc, num) => acc + num, 0);
Özet Tablo
- filter: filtreleme
- map: dönüştürme
- forEach: döngü / işlem
- reduce: tek değer üretme
- find: eleman bulma
- sort: sıralama
Sık Sorulan Sorular
map ile forEach farkı nedir?
map yeni dizi döndürür, forEach döndürmez.
reduce ne zaman kullanılır?
Toplama, ortalama, object dönüştürme gibi işlemlerde kullanılır.
sort orijinal diziyi değiştirir mi?
Evet, sort mevcut diziyi değiştirir.
Sonuç
JavaScript dizi fonksiyonlarını öğrenmek, daha temiz, fonksiyonel ve okunabilir kod yazmanın temelidir.