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)
– traa
eb
o 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);
}