Skip to content

Instantly share code, notes, and snippets.

@IPRIT
Created March 6, 2016 00:29
Show Gist options
  • Select an option

  • Save IPRIT/38eba0b5e970de780ca6 to your computer and use it in GitHub Desktop.

Select an option

Save IPRIT/38eba0b5e970de780ca6 to your computer and use it in GitHub Desktop.

Lesson 1

Task 2

Задание: Фильтрация через функцию

Создайте функцию filter(arr, func), которая получает массив arr и возвращает новый, в который входят только те элементы arr, для которых func возвращает true. Создайте набор «готовых фильтров»: inBetween(a,b) — «между a,b», inArray([...]) — «в массиве [...]». Все функции необходимо реализовать с помощью "замыканий".

Использование должно быть таким:

filter(arr, inBetween(3, 6)) — выберет только числа от 3 до 6,
filter(arr, inArray([1, 2, 3])) — выберет только элементы, совпадающие с одним из значений массива.

Пример, как это должно работать:

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

alert(filter(arr, function(a) {
  return a % 2 == 0
})); // 2,4,6

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

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

Решение должно быть в файле app.js.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment