Ben tornato.
Parliamo di filtro.
Ora, in base al nome, dovresti indovinare cosa fa, filtra le cose per noi.
Quindi con la mappa otteniamo sempre lo stesso numero di elementi, giusto?
Abbiamo tre elementi e ne abbiamo recuperati tre.
Abbiamo appena mappato ogni elemento con il filtro.
A volte possiamo ricevere meno di quanto gli abbiamo dato.
Stiamo filtrando alcuni dei nostri risultati.
Quindi creiamo una nuova funzione invece di moltiplicare per due.
Voglio creare una funzione.
In questa funzione, cosa faremo agli elementi, diciamo, se gli elementi sono controlla se dispari?
Quindi diremo, ehi, questi numeri sono dispari e restituiscono solo i numeri dispari.
Quindi controlla cosa riceverà un articolo.
E su questo oggetto si agirà, e ancora una volta, dobbiamo restituire qualcosa,
cosa restituiremo?
Bene, la funzione di filtro cercherà di ricevere un valore vero e falso o un valore boliano, indipendentemente dal fatto
che debba essere filtrato o meno.
Quindi, se vogliamo verificare se un numero è attivo, beh, possiamo dire elemento modulo due perché il modulo due dividerà il numero
per due.
E se è uguale a zero, allora è pari.
Giusto, quindi posso dire che non è uguale a zero, quindi se il resto non è uguale a zero,
sarà dispari e restituiamo semplicemente questo.
Di nuovo, questo valuterà in un'espressione booleana e in base al filtro dell'espressione booleana dirà,
se è vero, lo terrò nell'elenco.
Se non lo è, lo rimuoverò o meno.
Aggiungilo alla nuova lista.
Quindi controlliamo questo invece di mappare less per filtrare.
E qui faremo il controllo.
O sai una cosa, non mi piace questo nome, facciamolo.
Solo Khaled.
Come quello.
Se eseguo questo.
Guarda, ho filtrato e rimosso i due perché è un numero pari.
Di nuovo, nota qui come non sto chiamando la funzione perché Filtro accetta una funzione o ciò che chiamiamo firma della
funzione, cioè, ehi, dimmi solo dove posso trovare lo spazio di memoria in cui dovrei andare per
quale azione intraprendere.
E dirà, ehi, dammi i dati e vado a eseguire questa funzione su ogni elemento.
Quindi, quando andiamo a uno, eseguirà questa funzione con uno come argomento.
Uno diviso per due.
Bene, questo sicuramente non ci dà un resto di zero, quindi tornerà.
Vero.
E questo significa che lo aggiungerò alla nuova lista che creeremo quando arriveremo a due,
però, perché questo restituirà false.
Non lo aggiungerà alla lista.
Di nuovo, se supponiamo di avere un elenco di utenti in quel caso, potremmo voler filtrare in base agli utenti che
iniziano con il nome A.
Possiamo utilizzare la funzione di filtro per filtrare tutti i nomi utente.
E abbiamo solo un nuovo elenco con i nomi utente, con le lettere, che iniziano con un'altra funzione molto utile e, come puoi
vedere, abbiamo mantenuto tutto puro.
Crea una nuova lista per noi.
Non modifica l'elenco originale.
Quindi stiamo tenendo a mente quel paradigma funzionale.
E ancora una volta, il bello sia con la mappa che con il filtro è vedere quanto diventano semplici le funzioni.
Tutto è semplicemente carino e semplice.
E attenzione, possono diventare un po' più complicati.
Ma tutto ciò che dobbiamo sapere è, ehi, cosa dovrei fare all'articolo e perché dovrei restituire?
Questa è l'unica cosa di cui si preoccupano invece di avere queste enormi, enormi funzioni che
cercano di fare tutto.
Va bene, parliamo di Zipp dopo.