JavaScript de Array.filter() metodunu, dizi elemanlarını bir döngüye alıp sırasıyla her bir dizi elemanını belirlediğimiz bir koşula tabi tutup sonuçlarını yeni bir diziye atamak için kullanabiliriz. Bu yazımda filter metodunun kullanımını örnekler üzerinden anlatacağım.
JavaScript filter Kullanımı
Array.filter() metodu ile bir dizinin tüm elemanlarını döngüye alabiliriz. Filter metodu orjinal diziyi değiştirmez. Kullanımı şu şekildedir:
1 2 3 4 5 6 7 8 9 10 11 |
<script> diziAdi.filter(function (value, index, array) { // Çalıştırılacak Kodlar }); </script> |
Burada function içerisinde 3 parametre tanımlayabiliyoruz. Bunlar:
- value : Bu parametre zorunludur ve dizi elemanlarının değerini tutar.
- index : Bu parametre isteğe bağlıdır ve dizi elemanlarının indeks numarasını tutar.
- array : Bu parametre isteğe bağlıdır ve dizinin kendisini tutar.
Şimdi bir dizi tanımlayalım ve filter metodu ile dizi elemanları içerisinde dönelim.
Her seferinde dizi elemanlarının 50’den büyük olup olmadığını kontrol edelim. Eğer 50’den büyükse o dizi elemanını yeni diziye atayalım.
Döngü sona erdiğinde hem sayilar dizisini hem de yeniDizi dizisini console ekranına yazdıralım.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<script> var sayilar = [64,36,100,25,256]; var yeniDizi = sayilar.filter(myFunction); function myFunction(value){ return value > 50; } console.log("sayilar dizisi : " + sayilar); console.log("Yeni Dizi : " + yeniDizi); </script> |
Çıktısı :
sayilar dizisi : 64,36,100,25,256
Yeni Dizi : 64,100,256
Yukarıda yapmış olduğumuz örneği farklı şekillerde de yazabilirdik.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<script> var sayilar = [64,36,100,25,256]; var yeniDizi = sayilar.filter(function (value){ return value > 50; }); console.log("sayilar dizisi : " + sayilar); console.log("Yeni Dizi : " + yeniDizi); </script> |
Çıktısı :
sayilar dizisi : 64,36,100,25,256
Yeni Dizi : 64,100,256
Gördüğünüz gibi kodlarımızı 2 farklı şekilde yazdık ve ikisinde de aynı çıktıyı elde ettik.
⇒ Array.filter() metodu Internet Explorer 8 veya öncesi hariç tüm tarayıcılarda desteklenir.
Umarım “JavaScript filter Kullanımı” başlıklı yazım sizin için faydalı olmuştur.
Şu yazılar da ilginizi çekebilir.
JavaScript Diziler (Dizi Oluşturma, Dizi Elemanlarına Erişme..)
JavaScript Dizi Metodları (pop, push, shift, unshift, slice..)
JavaScript Dizilerde Sıralama – En Küçük veya En Büyük Değeri Bulma
Yeni bir yazımda görüşmek üzere.