Filtragem de Elementos
Listas podem ser filtradas, retornando somente os elementos que queremos (aqueles que se encaixam a um critério definido).
Função filter
Em JavaScript, fazemos essa filtragem com uso de uma função pré-definida filter(f) onde f é a função definida que representa o critério de seleção de cada elemento.
Exemplo
Programa para selecionar produtos que custem menos que R$15.
const menorQue = (limite) => (lista) => lista.filter((x) => x < limite)
const menorQue15 = menorQue(15)
const listaProdutosR$ = [10.60, 8.50, 5.55, 6.40, 41.00, 23.05, 19.90, 15.90, 22.10, 2.75]
const resultado = menorQue15(listaProdutosR$)
console.log(resultado)
[ 10.6, 8.5, 5.55, 6.4, 2.75 ]
Exemplo
Programa para selecionar os nomes que começam com a letra "A".
const nomes = ['Felipe', 'Ana', 'Bia', 'Adele', 'Gui', 'Adam', 'Rafa', 'Maria']
const filtroLetra = (letra) => (texto) => texto[0] == letra
const primeiraLetraA = filtroLetra('A')
console.log(nomes.filter(primeiraLetraA))
[ "Ana"< "Adele", "Adam" ]
Exemplo
Programa para selecionar os nomes com mais de 4 letras.
const nomes = ['Felipe', 'Ana', 'Bia', 'Adele', 'Gui', 'Adam', 'Rafa', 'Maria']
const filtroLetra = (letra) => (texto) => texto[0] == letra
const primeiraLetraA = filtroLetra('A')
console.log(nomes.filter(primeiraLetraA))
const tamanhoMaiorQue = (n) => (texto) => texto.length > n
const tamanhoMaiorQue4 = tamanhoMaiorQue(4)
console.log(nomes.filter(tamanhoMaiorQue4))
[ "Ana", "Adele", "Adam" ]
[ "Felipe", "Adele", "Maria" ]