Derse geri dön

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 ve b 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

Testler ile korunaklı olan aç.

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); }

Çözümü testler korunaklı alanda olacak şekilde aç.