Filtrace pomocí funkce
důležitost: 5
Pro pole máme vestavěnou metodu pole.filter(f), která filtruje všechny prvky pomocí funkce f. Jestliže f vrátí true, bude prvek vrácen ve výsledném poli.
Vytvořte sadu filtrů „připravených k použití“:
mezi(a, b)– meziaabnebo rovno některému z nich (inkluzívně).vPoli([...])– v zadaném poli.
Použití musí být následující:
pole.filter(mezi(3,6))– vybere jen hodnoty mezi 3 a 6.pole.filter(vPoli([1,2,3]))– vybere jen prvky, které se rovnají některému z prvků pole[1,2,3].
Například:
/* .. váš kód funkcí mezi a vPoli */
let pole = [1, 2, 3, 4, 5, 6, 7];
alert( pole.filter(mezi(3, 6)) ); // 3,4,5,6
alert( pole.filter(vPoli([1, 2, 10])) ); // 1,2
Filtr mezi
function mezi(a, b) {
return function(x) {
return x >= a && x <= b;
};
}
let pole = [1, 2, 3, 4, 5, 6, 7];
alert( pole.filter(mezi(3, 6)) ); // 3,4,5,6
Filtr vPoli
function vPoli(pole) {
return function(x) {
return pole.includes(x);
};
}
let pole = [1, 2, 3, 4, 5, 6, 7];
alert( pole.filter(vPoli([1, 2, 10])) ); // 1,2