Javascript Array.filter() Metodu ve Kullanımı

Önceki yazılarımdan birisinde array prototipinin .map() özelliğinden bahsetmiştik. Ayrıca göz atabilirsiniz.

Bu yazıda bir diğer, kullanım alanı az olmasına rağmen kodlamayı hızlandıran array metodu filter()'ın nasıl kullanıldığından bahsedeceğim;

Filter, array içinde, array ile alakadar verileri kullanarak, istenilen durumlara göre array'i filtrelemenizi sağlayan bir metoddur. Map metodu gibi, her array elemanı için boolean dönen bir fonksiyon alır. Kullanımını basit bir örnek ile gösterelim;

var arr = [1,2,5,8,4,5,8,4,1];
var bestenKucukArr = arr.filter(function(eleman){
    if(eleman < 5){ return true; }
});

console.log(bestenKucukArr);

Konsol Çıktısı; Array [ 1, 2, 4, 4, 1 ]

Örnekte, değeri 5'den büyük olan elemanlar, filtrelenmiş array'de yer alacaktır.

Filter özelliği bu tür basit arraylerde kullanılıyor olduğu gibi, genellikle en büyük uygulaması, map özelliğinde de olduğu gibi, objelerden oluşan arrayler (elemanı obje olan) üzerinde çok rahat bir kullanıma sahip. Örnek olarak;

var arr = [{sebze: "patates", kilo: "5"},
           {sebze: "patlıcan", kilo: "2"},
           {sebze: "domates", kilo: "3"}];
var ucKiloveUstuArr = arr.filter(function(eleman){
    if(eleman.kilo >= 3){ return true; }
});

ucKiloveUstuArr.forEach(function(eleman){
    console.log(eleman.sebze);
});

Konsol Çıktısı: patates domates

Objelerden oluşan array'in gönderdiğimiz elemanı üzerinden (obje) okuduğumuz kilo değişkeni ile, array içindeki 3 kilo ve üzeri sebzeleri filtreleyip, yeni arrayin sebze isimlerini, forEach ile konsola bastırdık.

Yorumları Göster veya Yeni Yorum Yaz