Array -filter i Ruby

Array -filter i Ruby
Vi kan tenke på matriser som databaser eller, mer spesifikt, en tabell i en database. Hovedbruken av matriser er å lagre relaterte elementer i en enkelt enhet, slik at du kan administrere dem effektivt.

Denne opplæringen vil illustrere hvordan du filtrerer resultatene fra en matrise ved hjelp av Select, Find and Reject Methods.

Bruke SELECT -metoden

Vi bruker SELECT -setningen for å filtrere elementer i en matrise for et undergruppe som samsvarer med spesifikke kriterier.

Den utvalgte metoden returnerer en ny matrise med alle verdiene der tilstanden evaluerer til sann.

Den utvalgte metoden godtar en blokk for å spesifisere tilstanden.

For eksempel:

rammer = [
"Reagere",
"Angular",
"Vue JS",
"Svelte"
]
Skriv ut rammer.Velg | i | Jeg.lengde> 6

I eksemplet over bruker vi SELECT -metoden for å filtrere ut strengen med en lengde større enn 6.

Koden i blokken vil iterere over hvert element i matrisen og sjekke tilstanden. Hvis det er sant, vil SELECT -setningen legge den til i en ny samling.

På stedet velger

SELECT -setningen påvirker ikke den opprinnelige matrisen. Det oppretter en ny matrise med elementer som samsvarer med den spesifiserte tilstanden.

For å påvirke den opprinnelige matrisen på plass, kan vi bruke Select! Metode.

rammer = [
"Reagere",
"Angular",
"Vue JS",
"Svelte"
]
rammer.plukke ut! | i | Jeg.lengde> 6
Skriv ut rammer

Rammeverksarrayen er modifisert for å bare inneholde elementene med en lengde større enn 6.

=> ["Angular"]

Bruke Find -metoden

Vi kan bruke Find -metoden for å finne et enkelt element i matrisen som samsvarer med en spesifikk tilstand.

For eksempel:

rammer = [
"Reagere",
"Angular",
"Vue JS",
"Svelte"
]
Skriv ut rammer.finn | i | Jeg.lengde == 5

Finn -metoden vil returnere den første kampen i den spesifiserte tilstanden.

Her er et eksempelutgang:

=> Reagere

Hvis det ikke er noen kamp, ​​returnerer metoden null.

Noen ganger kan du komme over find_all -metoden. Find_all -metoden returnerer alle kampene i stedet for et enkelt objekt. Du kan vurdere det som et alias av SELECT -metoden.

Bruke avvisningsmetoden

Avvisningsmetoden er det motsatte av SELECT -metoden. I stedet for å inkludere verdiene som samsvarer med en spesifikk tilstand, avviser metoden elementene.

For eksempel:

rammer = [
"Reagere",
"Angular",
"Vue JS",
"Svelte"
]
Skriv ut rammer.Avvis | i | Jeg.lengde> 6

I eksemplet ovenfor fjerner vi alle elementene med en lengde større enn 6. I vårt eksempel er dette bare et enkelt objekt.

Den resulterende verdien er som:

=> ["React", "Vue JS", "svelte"]

Å oppsummere

Du har nettopp lært hvordan du filtrerer elementene i en matrise ved hjelp av Select, Finn og avviser metoder.

Husk: praksis tilsvarer mestring