myNotlar Logo

Array.reduce


Firefox

Array.reduce() fonksiyonu, dizideki elemanları tek tek belirtilen fonksiyona parametre olarak aktararak, fonksiyonun toplama mantığına göre her elemanın toplamından elde edilen değeri bir sonrakine aktararak tüm değerlerin tek bir değere indirgenmesini sağlar. Daha kısa bir ifadeyle, belirtilen fonksiyonun toplama mantığı ile tüm değerleri toplar.

Array.reduce() fonksiyonu Mart 2009 itibariyle sadece Firefox 3.0 ve üzeri sürümlerinde çalışır. Bu fonksiyonu tüm modern tarayıcılarda kullanmak için Array reduce fonksiyon betiğini kullanabilirsiniz.

Sözdizimi

toplamDeger = Array.reduce(fonk [, ilkDeger])
fonkDizi elemanlarının parametre olarak aktarılarak, toplama yapacak fonksiyon.
ilkDegerToplamaya eklenecek herhangi bir tipteki ilk değeri belirler. Belirtilmezse '0' değeri baz alınır.

Dönüş Değeri

toplamDegerToplama fonksiyonu aracılığıyla toplanan değerlerin toplamı herhangi bir tipte döner.

Toplama Fonksiyonunun Yapısı ve Aktarılan Argümanlar

Array.reduce() fonksiyonuna parametre olarak aktarılarak dizi elemanlarını toplayacak fonksiyonun genel yapısı aşağıdaki gibi olmalıdır. Fonksiyon içeriği isteğe göre hazırlanmasına rağmen sonraki fonksiyona aktarmak için mutlaka return ile herhangi bir değer döndürmelidir. Herhangi bir değer döndürülmediği takdirde sonraki fonksiyona ilkDeger parametresi olarak undefined değeri atanacaktır.

fonk_Reduce(ilkDeger, eleman, sira, arrayRef) {
    var sonuc;
    // sonuc'u hesapla ...
    return sonuc;
}
ilkDegerToplamaya eklenecek herhangi bir tipteki ilk değeri belirler. (Bir önceki fonksiyondan elde edilen toplam değerdir.)
elemanDizinin güncel sırasındaki eleman.
siraDizinin güncel sırası.
arrayRefArray nesnesinin referansı.

Aşağıdaki örnek, Array.reduce() fonksiyonu kullanılarak String içeren bir dizi içindeki tüm String boylarının toplamanın öğrenilmesini göstermektedir.

<script type="text/javascript">

function fonk_StrTopla(ilkDeger, eleman, sira, arrayRef) {

    var topBoyu = ilkDeger + eleman.length;
    return topBoyu;
}
function reduce_Test() {

    var dizi = ["Ankara", "İstanbul", "İzmir"];
    var topStrBoy = dizi.reduce(fonk_StrTopla, 0);
    alert(dizi.join(", ") + " kelimeleri, toplam '" + topStrBoy + "' karakter.");
}
	
</script>

<input type="button" value="Toplam String Boyu" onclick="reduce_Test()" />
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 | Oyunlar |