myNotlar Logo

Array.map


Firefox Opera

Array.map() fonksiyonu, dizi içindeki her elemanı belirtilen fonksiyona tek tek parametre olarak aktararak dönen değerler ile özgün Array boyunda yeni bir Array oluşturur.

Array.map() fonksiyonunu, desteklemeyen tarayıcılarda da kullanmak için Array.map fonksiyon betiğini kullanabilirsiniz.

Sözdizimi

yeni = Array.map(fonk [, thisElem])
fonkDizi elemanlarının her biri üzerinde işlem yaparak yeni değerlerini döndürecek olan fonksiyonu belirler.
thisElemİşlem fonksiyonu içinde this olarak kullanılacak nesneyi veya elementi belirler.

Dönüş Değeri

yeniGüncellenmiş değerleri içeren yeni Array döner.

İşlem Fonksiyonunun Yapısı ve Aktarılan Argümanlar

Array.map() fonksiyonuna parametre olarak aktarılarak dizi elemanları üzerinde işlem yapacak fonksiyonun genel yapısı aşağıdaki gibi olmalıdır. Fonksiyon içeriği, isteğe göre hazırlanması ile beraber mutlaka return ile herhangi bir değer döndürmelidir. Aksi takdirde yeni oluşturulan Array içinde, ilgili sıra null olacaktır. Ayrıca, Array.map() fonksiyonuna thisElem ile aktarılan nesne veya element, bu fonksiyon içinde this ile kullanılabilir.

fonk_Map(eleman, sira, arrayRef) {
    var yeniDeger;
    // Yeni değeri hesapla ...
    return yeniDeger;
}
elemanDizinin güncel sırasındaki eleman.
siraDizinin güncel sırası.
arrayRefArray nesnesinin referansı.

Aşağıdaki örnek, Array.map() fonksiyonu kullanılarak, bir dizi içindeki tüm rakamlara '2' eklenerek yeni bir Array oluşturulmasını göstermektedir.

<script type="text/javascript">

function mapFonk(eleman, sira, arrayRef) {
    var yeniDeger = eleman + 2;
    return yeniDeger;
}
function mapTest() {
    var dizi = [1, 2, 3, 4, 5, 6, 7];
    
    var yeniDizi = dizi.map(mapFonk);
    
    alert("Dizinin ilk hali : " + dizi.join(", ") + "\n" +
        "Dizinin sonraki hali : " + yeniDizi.join(", ") );
}
	
</script>

<input type="button" value="Tüm değerlere '2' ekle" onclick="mapTest()" />
Test Edin
İlgili Başlıklar
 
myNotlar Hakkında
Telif Hakkı © 2007-2009 mynotlar.com Tüm Hakları Saklıdır. Kopyalanamaz. Yayınlanamaz.
E-Posta : support@myNotlar.com

| Tek Kişilik Oyunlar | Sudoku | YasinKa |