Listeoperasjoner
Fra skolebenken er vi veldig vant med å bruke for-loops når vi ønsker å modifisere lister. I JavaScript har vi en del innebygde listeoperasjoner som er gode å lese, og som vi anbefaler å bruke i stedet for å skrive en egen listeiterasjon. Enkelte av disse er også funksjonelle - det vil si, endrer ikke den opprinnelige listen du kaller listeoperasjonen på, men returnerer en ny liste. Det er ofte en fordel å bruke funksjonelle prosedyrer, fordi de ikke har sideeffekter og kan gjøre programmet ditt forutsigbart og mulig å teste. Under har vi lagt inn eksempler på noen funksjonelle listeoperasjoner som er fine å kjenne til, men det finnes mange flere i MDN sin oversikt over listeoperasjoner som er praktiske å bruke i ulike situasjoner i stedet for loops.
Map
Map returnerer en ny liste med resultatet av å kalle funksjonen vi sender inn til map på hvert element i lista map ble kalt på.
Reduce
Reduce kaller en funksjon på alle elementer i en liste mot en akkumulator, slik at vi kan redusere lista til en enkeltverdi.
Filter
Filter tar inn en funksjon som returnerer en boolsk verdi (et slikt uttrykk som evaluerer sannhet kalles et predikat), og returnerer en ny liste med elementene i den opprinnelige lista som returnerte true
når de ble testet mot predikatet.
Spread operator
Du kan bruke spread operator både på lister og objekter, til å hente ut alle elementene i lista.
Dette er praktisk hvis man for eksempel vil flate ut to lister i en ny liste:
Destrukturering
Destruktureringssyntaksen lar oss hente ut verdier fra et array, characters fra en string eller properties fra et objekt og lagre disse i egne variabler.
Oppgaver
Ønsker du en litt annen forklaring på listeoperasjoner?
Denne karen har sammenlignet listeoperasjoner med hvordan lage en fruktbolle.
Last updated