◐ Shell
reader mode source ↗
IT

Vorremo rendere disponibile questo progetto open-source per persone in tutto il mondo.

Aiutaci a tradurre il contenuto di questo tutorial nella tua lingua!

Cerca
Cerca
torna alle lezioni

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) – tra a e b 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

Apri una sandbox con i test.

soluzione
Filter inBetween

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

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);
}

Apri la soluzione con i test in una sandbox.