Bu betik, JavaScript 1.6 sürümünde tanımlanan Array.filter() fonksiyonunun tüm tarayıcılarda çalışmasını sağlar.
Sözdizimi
filtreli = Array.filter(filtreFonk [, thisElem])
filtreFonk | Dizi elemanlarının tek tek parametre olarak aktarılarak, kontrol edip true veya false değer döndürecek fonksiyonu belirler |
thisElem | Filtre fonksiyonu içinde this olarak kullanılacak nesneyi veya elementi belirler. |
Dönüş Değeri
filtreli | Filtrelenmiş Array döner. |
Kullanım Örneği
Aşağıdaki örnek, Array.filter() fonksiyonu kullanılarak dizi içindeki sayıların hem 2'ye hem de 3'e tam bölünenlerin filtrelenmesini göstermektedir.
<script type="text/javascript" src="myn_Array_filter.js"></script>
<script type="text/javascript">
function filter_Fonk(eleman, sira, arrayRef) {
if(eleman % 2 == 0 && eleman % 3 == 0)
return true;
else
return false;
}
function filterTest() {
var dizi = [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14];
var filtreli = dizi.filter(filter_Fonk);
alert("Dizide 2 ve 3'e tam bölünebilen rakamlar : \n\n" + filtreli.join(", "));
}
</script>
<input type="button" value="2 ve 3'e Tam Bölünenleri Göster" onclick="filterTest()" />
Test Edin
myn_Array_filter.js
/**
"Array.filter()" Fonksiyon Betiği v1.0
Telif Hakkı (c) 2009, mynotlar.com, Tüm hakları saklıdır.
http://www.mynotlar.com
*/
if(!Array.prototype.filter) {
Array.prototype.filter=function(fonk, thisElem){
var filtreli = [];
for(var i = 0, ii = this.length; i < ii;i++) {
if(fonk.call(thisElem, this[i], i, this))
filtreli.add(el);
}
return filtreli;
}
}