Fonksiyon ile filtreler
önem: 5
Diziler için arr.filter(f)
adında JavaScript dahilinde bir metod bulunmaktadır. Bu metod tüm elemanları f
fonksiyonu ile filtreler. Eğer true
döner ise o eleman sonuç listesinde görünür.
“Kullanmaya hazır” filtreler yapınız:
arasinda(a, b)
–a
veb
araında veya eşit.diziIcinde([...])
– verilen dizi içerisinde
Kullanımları şu şekilde olacaktır:
arr.filter(arasinda(3,6))
– sadece 3 ile 6 arasındaki değerleri seçer.arr.filter(diziIcinde([1,2,3]))
– elemanlar eşitse onları seçeer. Bu durumda sadece[1,2,3]
elemanları seçilecektir.
Örneğin:
/* .. arasinda ve diziIcinde için yazdığınız kodlar. */
let arr = [1, 2, 3, 4, 5, 6, 7];
alert( arr.filter(arasinda(3, 6)) ); // 3,4,5,6
alert( arr.filter(diziIcinde([1, 2, 10])) ); // 1,2
arasinda Filtresi
function arasinda(a, b) {
return function(x) {
return x >= a && x <= b;
};
}
let arr = [1, 2, 3, 4, 5, 6, 7];
alert( arr.filter(arasinda(3, 6)) ); // 3,4,5,6
diziIcinde Filtresi
function diziIcinde(arr) {
return function(x) {
return arr.includes(x);
};
}
let arr = [1, 2, 3, 4, 5, 6, 7];
alert( arr.filter(diziIcinde([1, 2, 10])) ); // 1,2
function diziIcinde(arr) {
return x => arr.includes(x);
}
function arasinda(a, b) {
return x => (x >= a && x <= b);
}