JavaScript'te foreach ve map metodları arasındaki fark nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
forEach, dizisi öğelerini yineleyen ve her öğe için geri çağırma fonksiyonunu çalıştıran, ancak yeni bir dizi oluşturmayan bir yöntemdir. Konsola çıktı almak veya dış değişkenleri değiştirmek gibi yan etkiler için kullanılır.
map da dizinin öğelerini yineleyen ve her öğe için geri çağırma fonksiyonunu çalıştıran bir yöntemdir. Ancak, bu fonksiyonun her öğe üzerindeki yürütülmesinin sonuçlarını içeren yeni bir dizi döndürür. Bir diziyi başka bir diziye dönüştürmek için kullanılır.
forEach ile örnek:
const numbers = [1, 2, 3];
numbers.forEach(number => console.log(number * 2));
// Çıktı:
// 2
// 4
// 6
// numbers [1, 2, 3] olarak kalır
map ile örnek:
const numbers = [1, 2, 3];
const doubledNumbers = numbers.map(number => number * 2);
console.log(doubledNumbers);
// Çıktı: [2, 4, 6]
// numbers [1, 2, 3] olarak kalır
Ana fark, map'in orijinal diziyi değiştirmeyen ve yeni bir dizi döndüren "fonksiyonel" bir yöntem olması, forEach'in ise öncelikle her öğe üzerinde işlem yapmak için kullanılmasıdır ve yeni bir dizi döndürmez.
| Kriter | forEach |
map |
|---|---|---|
| Dönen değer | undefined |
Yeni dizi |
| Dizi değişikliği | Yeni dizi oluşturmaz | Yeni dizi oluşturur |
| Ana amaç | Her öğe üzerinde işlem yapmak | Diziyi başka bir diziye dönüştürmek |
| Yöntem zinciri | Doğal olarak desteklenmez | Desteklenir (dizi döndürür) |