Welkom terug.
Laten we het hebben over filteren.
Nu, op basis van de naam, zou je moeten raden wat het doet, het filtert dingen voor ons.
Dus met de kaart kregen we altijd hetzelfde aantal items terug, toch?
We hebben drie items en we hebben drie items terug.
We hebben zojuist elk item met filter in kaart gebracht.
We kunnen soms minder krijgen dan we het hebben gegeven.
We filteren enkele van onze resultaten.
Laten we dus een nieuwe functie maken in plaats van vermenigvuldigen met twee.
Ik wil een functie maken.
Wat gaan we in deze functie doen met de items, laten we zeggen, als items zijn aangevinkt als ze oneven zijn?
Dus we gaan zeggen, hé, zijn deze getallen oneven en geven alleen de oneven getallen terug.
Controleer dus wat een item gaat ontvangen.
En er zal naar dit item worden gehandeld, en nogmaals, we moeten iets teruggeven, wat
gaan we teruggeven?
Welnu, de filterfunctie, deze gaat proberen een echte en valse waarde of een Boliaanse waarde te ontvangen, of deze nu
moet worden gefilterd of niet.
Dus als we willen controleren of een getal aan staat, kunnen we item modulo twee zeggen omdat modulo twee het getal door twee
gaat delen.
En als het gelijk is aan nul, dan is het even.
Juist, dus ik kan zeggen dat het niet gelijk is aan nul, dus als de rest niet gelijk is aan nul, wordt
het vreemd en geven we dit gewoon terug.
Nogmaals, dit wordt een booleaanse uitdrukking en op basis van het booleaanse uitdrukkingsfilter zal ik zeggen dat als het waar
is, ik het in de lijst zal houden.
Zo niet, dan verwijder ik het of niet.
Voeg het toe aan de nieuwe lijst.
Dus laten we dit eens bekijken in plaats van minder in kaart te brengen om te filteren.
En hier zullen we het controleren.
Of weet je wat, ik hou niet van deze naam, laten we doen.
Alleen Khaled.
Zoals dat.
Als ik dit uitvoer.
Kijk eens aan, ik heb de twee gefilterd en verwijderd, want dat is een even getal.
Nogmaals, merk hier op hoe ik de functie niet aanroep omdat Filter een functie accepteert of wat we functiesignatuur noemen, dat
wil zeggen, zeg me gewoon waar ik kan vinden naar welke geheugenruimte ik moet gaan voor welke actie
ik moet ondernemen.
En het zal zeggen, hé, geef me de gegevens en ik ga deze functie op elk item uitvoeren.
Dus als we naar één gaan, wordt deze functie uitgevoerd met één als argument.
Een gedeeld door twee.
Dat geeft ons zeker geen rest van nul, dus dat gaat terug.
Waar.
En dat betekent dat ik het ga toevoegen aan de nieuwe lijst die we maken als we
bij twee komen, omdat dit false retourneert.
Het zal het niet aan de lijst toevoegen.
Nogmaals, als we in dat geval een lijst met gebruikers hebben, willen we misschien filteren op gebruikers die beginnen
met de naam A.
We kunnen de filterfunctie gebruiken om door alle gebruikersnamen te filteren.
En hebben alleen een nieuwe lijst met de gebruikersnamen, met letters, beginnend met een andere zeer nuttige functie, en zoals je kunt zien,
hebben we alles puur gehouden.
Het creëert een nieuwe lijst voor ons.
Het wijzigt de originele lijst niet.
Dus we houden dat functionele paradigma in gedachten.
En nogmaals, het mooie van zowel kaart als filter is kijk hoe eenvoudig de functies worden.
Alles is gewoon leuk en eenvoudig.
En let wel, ze kunnen een beetje ingewikkelder worden.
Maar het enige wat we moeten weten is, hé, wat moet ik met het artikel doen en waarom zou ik het retourneren?
Dat is het enige waar ze zich zorgen over maken in plaats van deze enorme, enorme functies te hebben die
alles proberen te doen.
Oké, laten we het nu over Zipp hebben.