Фильтрация с помощью функции
важность: 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]))
– выбирает только элементы, совпадающие с одним из элементов массива
Например:
/* .. ваш код для 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