JavaScript Dersleri

JavaScript’te map() Metodu

eminbasbayan

eminbasbayan

4 dk okuma
JavaScript’te map() Metodu
🔍 Büyütmek için tıklayın

Programlamada sıkça karşılaştığımız durumlardan biri, elimizdeki verileri farklı bir forma sokmak istememizdir. JavaScript’te dizi (array) ile çalışırken, bir dizinin her bir elemanını alıp değiştirmek, üzerinde işlem yapmak ve bunlardan yeni bir dizi oluşturmak oldukça yaygın bir ihtiyaçtır. Bu gibi durumlar için JavaScript bize çok kullanışlı bir araç sunar: map() metodu.

Bu makalede, map() metodunun nasıl çalıştığını, ne işe yaradığını ve neden tercih edilmesi gerektiğini sade ve anlaşılır bir dille açıklayacağız. Ayrıca farklı örnekler üzerinden konuyu pekiştireceğiz.

map() Metodu Nedir?

map() metodu, bir dizi üzerinde çalışır ve her bir eleman için verilen bir fonksiyonu çalıştırarak yeni bir dizi oluşturur. Bu fonksiyonun her çalışmasından dönen değerler, yeni dizinin elemanlarını oluşturur.

Önemli bir detay: map() metodu orijinal diziyi değiştirmez. Yani üzerinde çalıştığı dizi olduğu gibi kalır, sadece dönüş değerlerinden oluşan yeni bir dizi üretir.

Kullanım Şekli

const yeniDizi = orijinalDizi.map(function(eleman) { return islenmisDeger; });

Veya kısa yazım (arrow function) ile:

const yeniDizi = orijinalDizi.map(eleman => islenmisDeger);

Basit Bir Örnek: Sıcaklık Dönüştürme

Diyelim elimizde santigrat cinsinden sıcaklıkları tutan bir dizi var:

const santigratlar = [0, 20, 30, 100];

Bunları Fahrenheit’a çevirmek istiyoruz. Formülümüz:

Fahrenheit = (Santigrat × 9/5) + 32

İşte map() ile bunu kolayca yapabiliriz:

const fahrenheitlar = santigratlar.map(sicaklik => (sicaklik * 9/5) + 32);

Sonuç:

console.log(fahrenheitlar); // [32, 68, 86, 212]

Orijinal santigratlar dizisi değişmedi, ama her eleman dönüştürülerek yeni bir dizi üretildi.

Metin Üzerinde Kullanım: Öğrenci İsimlerini Biçimlendirme

Elimizde öğrencilerin küçük harflerle yazılmış isimleri olsun:

const isimler = ["ayşe", "mehmet", "cemre", "burak"];

Tüm isimlerin ilk harfini büyük yapmak istiyoruz. Bunu map() ile şu şekilde yapabiliriz:

const duzenliIsimler = isimler.map(isim => isim.charAt(0).toUpperCase() + isim.slice(1) );

Sonuç:

console.log(duzenliIsimler); // ["Ayşe", "Mehmet", "Cemre", "Burak"]

Her bir isme aynı işlem uygulandı ve dönüştürülmüş değerlerden yeni bir liste elde edildi.

Nesne Dizileriyle Kullanım: Ürün İsimlerini Alma

Gerçek hayatta genellikle diziler sadece sayı veya metin içermez. Genellikle dizi içindeki her eleman bir nesnedir. Örneğin:

const urunler = [ { isim: "Laptop", fiyat: 15000 }, { isim: "Telefon", fiyat: 10000 }, { isim: "Tablet", fiyat: 8000 } ];

Sadece ürün isimlerinden oluşan bir liste yapmak istiyoruz:

const urunIsimleri = urunler.map(urun => urun.isim);

Sonuç:

console.log(urunIsimleri); // ["Laptop", "Telefon", "Tablet"]

Yani her nesne içinden sadece isim alanı alınıp yeni bir dizi oluşturuldu.

Başka Bir Nesne Örneği: Fiyatlara KDV Ekleme

Elimizde yine bir ürün listesi olsun:

const sepet = [ { ad: "Kitap", fiyat: 120 }, { ad: "Defter", fiyat: 30 }, { ad: "Kalem", fiyat: 15 } ];

Her ürünün fiyatına %18 KDV ekleyip, yeni fiyatları içeren bir dizi oluşturalım:

const kdvliFiyatlar = sepet.map(urun => ({ ad: urun.ad, fiyat: (urun.fiyat * 1.18).toFixed(2) }));

Sonuç:

console.log(kdvliFiyatlar); /* [ { ad: "Kitap", fiyat: "141.60" }, { ad: "Defter", fiyat: "35.40" }, { ad: "Kalem", fiyat: "17.70" } ] */

Hem veri dönüştürüldü, hem de orijinal yapıya zarar verilmeden yeni bir yapı oluşturuldu.

map() ile forEach Arasındaki Fark

Bazı öğrenciler forEach ile map() arasındaki farkı karıştırabiliyor. Şöyle düşün:

  • forEach → sadece işlem yapar ama sonuçları geri döndürmez.
  • map → her elemanı işler ve geri dönenleri bir dizide toplar.

Örnekle açıklayalım:

const sayilar = [1, 2, 3]; const sonuc1 = sayilar.forEach(sayi => sayi * 2); console.log(sonuc1); // undefined const sonuc2 = sayilar.map(sayi => sayi * 2); console.log(sonuc2); // [2, 4, 6]

forEach ile işlem yapılır ama sonuç alınmaz. map ise hem işlem yapar hem sonuç üretir.

Nerelerde Kullanılır?

  • Bir dizideki her elemanı farklı bir forma çevirmek istiyorsan,
  • Dizi içinden sadece belirli alanları almak istiyorsan,
  • Sayısal dönüşümler, metin biçimlendirme, nesne güncelleme gibi işlemler yapacaksan

map() senin en büyük yardımcın olacaktır.

Sonuç

JavaScript’te map() metodu, dizi elemanlarını dönüştürmek için kullanılan güçlü ve pratik bir yöntemdir. Geliştirici olarak kodunu sade, okunabilir ve işlevsel hale getirmen için çok önemli bir araçtır. Özellikle büyük veri listeleriyle çalışırken, tek satırlık map() ifadeleriyle çok karmaşık işlemleri kolayca gerçekleştirebilirsin.

Yeter ki şu temel soruyu unutma:

“Bu listedeki her elemanı işleyip yeni bir liste yapmak istiyor muyum?”

Cevabın evetse, çözümün: map().

Etiketler

#Eğitimler#JavaScript Dersleri

İlgili Yazılar

Bu konuyla ilgili diğer yazılarımızı da inceleyebilirsiniz

Web Geliştirmede Neden JavaScript'e İhtiyacımız Var?
JavaScript Dersleri

Web Geliştirmede Neden JavaScript'e İhtiyacımız Var?

Web geliştirme, temel olarak üç ana yapı taşı üzerine kuruludur: **HTML, CSS ve JavaScript**. Bu üçlüden **HTML**, sayfanın iskeletini oluşturur, **CSS**, tasarımı ve görsel düzenlemeleri yapar

2 dk
JavaScript'e Giriş: JavaScript Nedir?
JavaScript Dersleri

JavaScript'e Giriş: JavaScript Nedir?

Web geliştirme yolculuğunuzda büyük bir adım atıyorsunuz! HTML ve CSS ile statik web sayfaları oluşturmayı öğrendiniz, ancak şimdi JavaScript ile sayfanıza hareket ve etkileşim katmanını eklemeye hazırsınız. JavaScript, web sayfalarını dinamik hale getiren ve kullanıcı etkileşimlerini yöneten

3 dk
JavaScript Değişkenler (Variables) Nedir?
JavaScript Dersleri

JavaScript Değişkenler (Variables) Nedir?

JavaScript, web geliştirme dünyasının en önemli dillerinden biridir. Dinamik web siteleri, interaktif uygulamalar, oyunlar ve animasyonlar gibi birçok alanda kullanılır. Ancak, bu tür gelişmiş uygulamalar oluşturabilmek için önce JavaScript'in temellerini anlamak gerekir. Bu

4 dk
JavaScript İlkel (Primitive) Veri Tipleri
JavaScript Dersleri

JavaScript İlkel (Primitive) Veri Tipleri

JavaScript, modern web geliştirmede vazgeçilmez bir programlama dilidir. Web sitelerini daha dinamik hale getirmek, etkileşim eklemek ve hatta oyunlar ve uygulamalar geliştirmek için kullanılır. Ancak, bu eğlenceli ve güçlü özelliklere ulaşmadan önce, JavaScript'in temellerin

4 dk
JavaScript'te Sayılar ve Matematiksel Operatörler
JavaScript Dersleri

JavaScript'te Sayılar ve Matematiksel Operatörler

JavaScript, modern web geliştirmede en yaygın kullanılan programlama dillerinden biridir. Bu dilde çalışırken sayılarla sıkça işlem yaparız. İster bir hesap makinesi uygulaması geliştiriyor olun, ister bir oyundaki puan sistemini kodluyor olun, sayılar kaçınılmaz bir parçadır. JavaScri

4 dk
JavaScript'te Boolean Veri Tipi
JavaScript Dersleri

JavaScript'te Boolean Veri Tipi

JavaScript'ı öğrenmeye yeni başlayanlar için veri tipleri oldukça önemlidir. Bu yazıda, en temel veri tiplerinden biri olan **Boolean (mantıksal) değerleri** inceleyeceğiz. Boolean değerleri, programlamada sıklıkla kullanılan ve kodlarımızın man

3 dk