<!DOCTYPE html>
<html>
  <script src="https://uk.js.cx/test/libs.js"></script>
  <script src="test.js"></script>
  <p>
    У нас є вбудований для масивів метод <code>arr.filter(f)</code>. Він
    фільтрує всі елементи через функцію <code>f</code>. Якщо вона повертає
    <code>true</code>, цей елемент повертається в отриманому масиві.
  </p>

  <p>Зробіть набір <strong>«готових до використання»</strong> фільтрів:</p>

  <p>
    <strong>inBetween(a, b)</strong> – фільтрує елементи, які більші за
    <code>a</code> та менші за <code>b</code>. Також має включати елементи, які
    дорівнюють цим значенням.
  </p>

  <p>
    <strong>inArray([...])</strong> – фільтрує елементи, які включено у заданий
    масив.
  </p>

  <p>Використання має бути таким:</p>

  <p>
    <code>arr.filter(inBetween(3, 6))</code> – вибирає лише значення від 3 до 6.
  </p>

  <p>
    <code>arr.filter(inArray([1, 2, 3]))</code> – вибирає лише елементи, які
    включені у масив <code>[1, 2, 3]</code>.
  </p>

  <p>Наприклад:</p>

  <pre><code>
/* .. ваш код для 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
</code></pre>
  <script>
    let arr = [1, 2, 3, 4, 5, 6, 7];

    function inBetween(a, b) {
      // ...ваш код...
    }

    function inArray(arr) {
      // ...ваш код...
    }
  </script>
</html>
describe('inArray', function () {
  let arr = [1, 2, 3, 4, 5, 6, 7];

  it('повертає значення, які включено до масиву', function () {
    let filter = inArray(arr);
    assert.isTrue(filter(5));
    assert.isFalse(filter(0));
  });
});

describe('inBetween', function () {
  it('повертає масив зі значеннями між заданими', function () {
    let filter = inBetween(3, 6);
    assert.isTrue(filter(5));
    assert.isFalse(filter(0));
  });
});