filter Metodu
filter metodu, dizi elemanlarını filtreleyerek yalnızca belirli bir koşula uygun olanları bırakmanıza olanak tanır.
Metot, parametre olarak her bir dizi elemanı için çalıştırılacak bir fonksiyon alır.
Metot, kendi sonucu olarak, yalnızca iletilen fonksiyonun true döndürdüğü elemanların ekleneceği yeni bir dizi döndürür.
Fonksiyona üç parametre iletebilirsiniz. Bu parametreler mevcutsa (zorunlu değillerdir), ilkine otomatik olarak dizi elemanı, ikincisine dizideki numarası (indeks), üçüncüsüne ise dizinin kendisi yerleştirilir.
Sözdizimi
let yeni dizi = dizi.filter(function(eleman, indeks, dizi) {
kod
return true veya false
});
Örnek
Diziyi filtreleyerek içinde yalnızca pozitif sayıları bırakalım:
let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(function(elem) {
if (elem >= 0) {
return true;
} else {
return false;
}
});
console.log(res);
Kodun çalıştırılma sonucu:
[5, 1, 1, 3, 4]
Örnek
Kodu, ok fonksiyonu kullanarak kısaltalım:
let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => {
if (elem >= 0) {
return true;
} else {
return false;
}
});
console.log(res);
Kodun çalıştırılma sonucu:
[5, 1, 1, 3, 4]
Örnek
Kodu, mantıksal operatör kısayollarını kullanarak kısaltalım:
let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => {
return elem >= 0;
});
console.log(res);
Kodun çalıştırılma sonucu:
[5, 1, 1, 3, 4]
Örnek
Kodu, ok fonksiyonlarının özelliklerinden yararlanarak kısaltalım:
let arr = [-2, 5, 1, -5, -1, 1, 3, 4, -1];
let res = arr.filter(elem => elem > 0);
console.log(res);
Kodun çalıştırılma sonucu:
[5, 1, 1, 3, 4]
Örnek
Gerekirse, üçüncü parametreye dizinin kendisi iletilir:
let res = arr.filter(function(elem, index, arr) {
burada arr dizisine erişilebilir olacak
});