Bem vindo de volta.
Vamos falar sobre filtro.
Agora, com base no nome, você deve adivinhar o que ele faz, ele filtra as coisas para nós.
Então, com o mapa, sempre recebemos o mesmo número de itens de volta, certo?
Temos três itens e recebemos três itens de volta.
Nós apenas mapeamos cada item com filtro.
Às vezes, podemos receber menos do que demos.
Estamos filtrando alguns de nossos resultados.
Portanto, vamos criar uma nova função em vez de multiplicar por dois.
Eu quero criar uma função.
Nesta função, o que vamos fazer com os itens, digamos, se os itens estão, verifique se são ímpares?
Então, vamos dizer, ei, esses números são ímpares e retornaram apenas os números ímpares.
Portanto, verifique o que vai receber um item.
E esse item vai ter uma ação, e mais uma vez, temos que devolver algo, o
que vamos devolver?
Bem, a função de filtro vai tentar receber um valor verdadeiro e falso ou um valor boliano, se
deve ser filtrado ou não.
Então, se quisermos verificar se um número está ativado, bem, podemos dizer o item módulo dois porque o módulo dois vai dividir o
número por dois.
E se for igual a zero, então é par.
Certo, então posso dizer que não é igual a zero, então se o resto não for igual a zero,
vai ser ímpar e simplesmente retornamos isso.
Novamente, isso será avaliado em uma expressão booleana e, com base na expressão booleana, o filtro dirá,
se for verdade, vou mantê-lo na lista.
Se não for, vou removê-lo ou não.
Adicione-o à nova lista.
Então, vamos verificar isso em vez de mapear menos para filtrar.
E aqui vamos verificar.
Ou você sabe o quê, eu não gosto desse nome, vamos fazer.
Apenas Khaled.
Curtiu isso.
Se eu executar isso.
Veja só, eu filtrei e removi os dois porque é um número par.
Novamente, observe aqui como não estou chamando a função porque o Filter aceita uma função ou o que chamamos de assinatura
de função, ou seja, ei, diga-me onde posso encontrar o espaço de memória que devo ir para
que ação tomar.
E vai dizer, ei, dê-me os dados e irei executar esta função em cada item.
Então, quando formos para um, ele executará essa função com um como argumento.
Um dividido por dois.
Bem, isso definitivamente não nos dá um resto de zero, então isso vai voltar.
Verdade.
E isso significa que vou adicioná-lo à nova lista que criamos quando chegarmos a dois,
porque isso vai retornar falso.
Não vai adicioná-lo à lista.
Novamente, se digamos que temos uma lista de usuários nesse caso, podemos filtrar com base nos usuários que começam
com o nome A.
Podemos usar a função de filtro para filtrar todos os nomes de usuário.
E só temos uma nova lista de nomes de usuários, com letras, começando por outra função muito útil, e como você
pode ver, mantivemos tudo puro.
Isso cria uma nova lista para nós.
Não modifica a lista original.
Portanto, estamos mantendo esse paradigma funcional em mente.
E mais uma vez, a beleza do mapa e do filtro é ver como as funções se tornam simples.
Tudo é muito bom e simples.
E veja bem, eles podem ficar um pouco mais complicados.
Mas tudo o que precisamos saber é, ei, o que devo fazer com o item e por que devo devolvê-lo?
Essa é a única coisa com a qual eles estão preocupados, em vez de ter essas funções massivas
que tentam fazer tudo.
Tudo bem, vamos falar sobre Zipp a seguir.