CodeBlanks Logo Icon CodeBlanks

map

.map ile her elemanı dönüştürmeyi öğrenirsin.

map metodu

map metodu, bir dizinin her elemanını dönüştürür ve sonuçlardan yeni bir dizi oluşturur. Orijinal dizi değişmez; bunun yerine dönüşümlerin listelendiği taze bir dizi döner.

Sözdizimi şöyledir: dizi.map(fn). Burada fn, her eleman için çağrılan bir fonksiyondur. p => p * 2 biçimindeki ok fonksiyonu (arrow function) bu derste dönüşüm için yeterli; ayrıntısını Fonksiyonlar grubunda göreceksin.

Örnek: [1, 2, 3].map(n => n * 2) sonuçu [2, 4, 6] olur.

map'in üç parametresi

map'in çağırdığı fonksiyon aslında üç parametre alabilir: (eleman, index, dizi). Çoğu durumda yalnızca eleman kullanılır; geri kalanlar isteğe bağlıdır.

Örneğin ['a', 'b', 'c'].map((harf, i) => i + harf) çağrısı her harfin başına sıra numarasını koyar: ['0a', '1b', '2c']. Bu, listedeki bir öğeyi konumuyla birlikte kullanman gerektiğinde işe yarar.

map her zaman orijinal diziyle aynı uzunlukta bir dizi döndürür. Elemanları atlamak veya kırpmak istiyorsan filter kullanmalısın; o konuyu bir sonraki derste göreceksin.

Uygulama Fiyatlara KDV ekle

[100, 200, 50] fiyatlarından oluşan bir dizi tanımla. map ile her fiyata %18 KDV ekleyen (yeni fiyat = eski fiyat + eski fiyat * 18 / 100) bir dizi oluştur ve sonuçu console.log ile yazdır.

Başlangıç kodu

index.js
const prices = [100, 200, 50];
// KDV eklenmiş yeni dizi oluştur ve yazdır

Örnek çözüm

index.js
const prices = [100, 200, 50];
const withKdv = prices.map(p => p + p * 18 / 100);
console.log(withKdv);

Beklenen çıktı

[ 118, 236, 59 ]

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 map çıktısı nedir?

index.js
[1, 2, 3].map(n => n * 2)
  • 6
  • [1, 2, 3]
  • [2, 4, 6] Doğru cevap
  • [3, 6, 9]

Açıklama: her eleman iki katına çıkar ve yeni dizi [2, 4, 6] olur.

2 İki katına çıkar

Soru
const nums = [1, 2, 3];
const doubled = nums.map(n => ____);
Cevap
const nums = [1, 2, 3];
const doubled = nums.map(n => n * 2);

Açıklama: n => n * 2 her elemanı ikiye katlar.

3 map parçalarını eşle

Kavram Anlamı
dizi.map(fn) Dönüşüm çağrısı
fn Her eleman için çağrılan fonksiyon
eleman fn'in ilk parametresi
yeni dizi map'in döndürdüğü sonuç

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