regresar a la lección

Filtrar a través de una función

importancia: 5

Tenemos un método incorporado arr.filter(f) para arrays. Filtra todos los elementos a través de la función f. Si devuelve true, entonces ese elemento se devuelve en el array resultante.

Haga un conjunto de filtros “listos para usar”:

  • inBetween(a, b) – entre a y b o igual a ellos (inclusive).
  • inArray([...]) – en el array dado

El uso debe ser así:

  • arr.filter(inBetween(3,6)) – selecciona solo valores entre 3 y 6.
  • arr.filter(inArray([1,2,3])) – selecciona solo elementos que coinciden con uno de los miembros de [1,2,3].

Por ejemplo:

/* .. tu código para inBetween y 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

Abrir en entorno controlado con pruebas.

Filtrar 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

Filtrar 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

Abrir la solución con pruebas en un entorno controlado.