Bu betik, Gecko DOM API 1.9 (JavaScript 1.8) sürümünde tanımlanan Array.reduce() fonksiyonunun tüm tarayıcılarda çalışmasını sağlar. Ayrıca bu betiği, farklı Javascript kütüphanelerinde ufak farklar ile aggregate ismi ile görebilirsiniz.
Sözdizimi
toplamDeger = Array.reduce(fonk [, ilkDeger])
fonk | Dizi elemanlarının parametre olarak aktarılarak, toplama yapacak fonksiyon. |
ilkDeger | Toplamaya eklenecek herhangi bir tipteki ilk değeri belirler. Belirtilmezse '0' değeri baz alınır. |
Dönüş Değeri
toplamDeger | Toplama fonksiyonu aracılığıyla toplanan değerlerin toplamı herhangi bir tipte döner. |
Kullanım Örneği
Aşağıdaki örnek, Array.reduce() fonksiyonu kullanılarak String
içeren bir dizi içindeki tüm String
boylarının toplanmasını göstermektedir.
<script type="text/javascript" src="myn_Array_reduce.js"></script>
<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
myn_Array_reduce.js
/**
"Array.reduce()" Fonksiyon Betiği v1.0
Telif Hakkı (c) 2009, mynotlar.com, Tüm hakları saklıdır.
http://www.mynotlar.com
*/
if(!Array.prototype.reduce) {
Array.prototype.reduce = function(fonk, ilk) {
ilk = ilk || 0;
for(var i = 0, ii = this.length; i < ii;i++)
ilk = fonk.call(this, ilk, this[i], i, this);
return ilk;
}
}