назад до уроку

Функції фільтрації

важливість: 5

У нас є вбудований для масивів метод arr.filter(f). Він фільтрує всі елементи через функцію f. Якщо вона повертає true, цей елемент повертається в отриманому масиві.

Зробіть набір “готових до використання” фільтрів:

  • inBetween(a, b) – фільтрує елементи які більше a та менше b. Також має включати елементи, які дорівнюють їм.
  • inArray([...]) – фільтрує елементи, які включено у заданий масив.

Використання має бути таким:

  • arr.filter(inBetween(3,6)) – вибирає лише значення від 3 до 6.
  • arr.filter(inArray([1,2,3])) – вибирає лише елементи, які включені у масив [1,2,3].

Наприклад:

/* .. ваш код для inBetween та inArray */
let arr = [1, 2, 3, 4, 5, 6, 7];

alert( arr.filter(inBetween(3, 6)) ); // 3,4,5,6

alert( arr.filter(inArray([1, 2, 10])) ); // 1,2

Відкрити пісочницю з тестами.

Фільтр inBetween

function inBetween(a, b) {
  return function(x) {
    return x >= a && x <= b;
  };
}

let arr = [1, 2, 3, 4, 5, 6, 7];
alert( arr.filter(inBetween(3, 6)) ); // 3,4,5,6

Фільтр inArray

function inArray(arr) {
  return function(x) {
    return arr.includes(x);
  };
}

let arr = [1, 2, 3, 4, 5, 6, 7];
alert( arr.filter(inArray([1, 2, 10])) ); // 1,2

Відкрити рішення із тестами в пісочниці.