myNotlar Logo

Array.filter


Firefox Opera

Array.filter() fonksiyonu, dizi içindeki her elemanı belli bir niteliğe sahip olup olmadığını parametre olarak aktarılan fonksiyon aracılığıyla kontrol ederek, uyan elemanları yeni bir dizi olarak döndürürerek diziyi filtreler.

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

Sözdizimi

filtreli = Array.filter(filtreFonk [, thisElem])
filtreFonkDizi elemanlarının tek tek parametre olarak aktarılarak, kontrol edip true veya false değer döndürecek fonksiyonu belirler
thisElemFiltre fonksiyonu içinde this olarak kullanılacak nesneyi veya elementi belirler.

Dönüş Değeri

filtreliFiltrelenmiş Array döner.

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

Array.filter() fonksiyonuna parametre olarak aktarılarak dizi elemanlarını filtreliyecek 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 true veya false değer döndürmelidir. Ayrıca, Array.filter() fonksiyonuna thisElem ile aktarılan nesne veya element, bu fonksiyon içinde this ile kullanılabilir.

fonk_Filter(eleman, sira, arrayRef) {
    var sonuc;
    // sonuc'u hesapla ...
    return sonuc;
}
elemanDizinin güncel sırasındaki eleman.
siraDizinin güncel sırası.
arrayRefArray nesnesinin referansı.

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">

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
İ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 |