Filter su funzioni
importanza: 5
Abbiamo a disposizione un metodo integrato arr.filter(f) per gli array. Questo filtra tutti gli elementi attraverso la funzione f. Se ritorna true, allora quell’elemento viene ritornato.
Create un insieme di filtri “pronti all’uso”:
inBetween(a, b)– traaebo uguale.inArray([...])– contenuto nell’array.
Il loro utilizzo dovrebbe essere:
arr.filter(inBetween(3,6))– seleziona solo i valori compresi tra 3 e 6.arr.filter(inArray([1,2,3]))– seleziona solo gli elementi che corrispondono a[1,2,3].
Ad esempio:
/* .. your code for inBetween and 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
Filter 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
Filter 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
function inArray(arr) {
return x => arr.includes(x);
}
function inBetween(a, b) {
return x => (x >= a && x <= b);
}