Alle JavaScript-arraymetoder

author
5 minutes, 36 seconds Read

ES6-metoder

ES6

ES6, som er den korte form for ECMAScript 6, er den version af JavaScript, der blev udgivet i juni 2015. Det lader til, at de udviklere, der vedligeholder JavaScript, kan lide min fødselsmåned, for det er den måned, hvor de fleste af deres versioner blev udgivet.

Hvis du lige er ved at lære JavaScript, vil ES6 gøre livet meget lettere for dig. Det giver ikke kun arraymetoder, men også ting som destrukturering, pilefunktioner, en bedre måde at skrive objektorienteret og modulær kode på, blandt andre ting.

De fleste af disse ES6-arraymetoder tager en callback-funktion, og som følge heraf kaldes de arraymetoder af højere orden. Pilfunktioner er meget almindelige i higher-order-funktioner, da det forenkler vores kode

Map-metoden

Hvis der er en ES6-arraymetode, som du vil bruge næsten hele tiden, så er det denne metode. Det er min bedste array-metode både i JavaScript og Python. Selv om nogle JavaScript-udviklere har forsøgt at implementere map før ES6, blev standardmetoden map indført i JavaScript i ES6. I kodestumpen nedenfor har jeg implementeret map på tre måder:

  • Ved hjælp af almindelige JavaScript-funktioner: Her har jeg givet to argumenter til funktionen, først item, som er det element, jeg ønsker at gøre noget ved, og et valgfrit argument, index, som er indekset for hvert element
  • Ved hjælp af pilefunktioner: Jeg har også overgivet to argumenter ligesom i det første eksempel, men callback-funktionen her er en pilefunktion, hvilket gør koden meget pænere.
  • Jeg brugte også pilefunktioner, men jeg overgav kun ét argument – det element, som jeg vil iterere på. Dette er nyttigt, hvis jeg ikke har brug for indekset.

Filtermetoden

Metoden filter er en anden arraymetode af højere orden, som du bør bruge i dag. Det, som filter gør, er enkelt. Givet et array af elementer ønsker vi at returnere et nyt array fra det oprindelige array, hvor en bestemt betingelse er true. Callback-funktionen skal returnere et boolean, og det element, der opfylder betingelsen, er det, der skal være i det nye array.

The reduce method

Dette er meget flot, og jeg synes, det er den sværeste af alle de metoder, jeg har nævnt indtil nu. Det, som denne metode gør, er at bruge en bestemt callback til at reducere arrayet. Hvis jeg f.eks. ønsker at finde summen af alle elementerne i et array eller produktet af alle elementerne i et array, er denne metode en fin metode at bruge i stedet for at løbe i en sløjfe og øge den oprindelige sum eller det oprindelige produkt.

The forEach-metoden

Denne metode svarer til map-metoden, men i dette tilfælde returnerer den ikke et nyt array. Det er mere af den almindelige for-sløjfe i JavaScript, men på en renere og mere avanceret måde. Den tager tre parametre, som du måske har vidst. Det første er elementet i arrayet, det andet er elementets indeks (som er valgfrit), og det tredje er det arrayobjekt, som det aktuelle element tilhører.

I kodestumpen nedenfor har jeg brugt forEach til at manipulere Document Object Model (DOM), hvilket er ret sejt. Jeg kan opdatere arrayet, og de listeelementer, der gengives i DOM, ændres automatisk.

Metoden concat

Der er tilfælde, hvor du ønsker at sammenføje eller flette to eller flere arrays sammen. Så vil denne funktion være meget praktisk. Hvis du kalder concat på to arrays, får du et nyt array, der består af de to arrays kombineret.

De every- og some-metoder

Disse metoder er nyttige, hvis du vil vide, om alle elementerne i et array opfylder en betingelse, og om nogle af elementerne i et array opfylder en betingelse, henholdsvis.

Andre metoder omfatter:

Metoden fill

Fylder hvert element i arrayet med en værdi, der er overgivet som en parameter: .fill(1) // .

Metoden entries

Denne får arrayet til at opføre sig som et objekt med et nøgle-værdipar, hvor nøglen er indekset, og værdien er elementet.

Metoden find

Denne metode returnerer det første element i et array, der opfylder en test. Den tager en callback-funktion, som returnerer en boolean.

Den splejsemetode

Denne metode tager et uendeligt antal parametre – de to første er henholdsvis det indeks, hvor du ønsker at begynde at indsætte og fjerne elementer, og antallet af elementer, du ønsker at fjerne – og de resterende parametre er de elementer, du ønsker at tilføje til arrayet. Den returnerer et array med de elementer, der er fjernet, og muterer arrayet.

Den omvendte metode

Den omvendte metode vender arrayet om. Bemærk, at den muterer det, hvilket betyder, at den ændrer arrayet i stedet for blot at oprette en kopi af det.

Den sammenføjningsmetode

Denne metode forvandler et array til et array til en streng. Bemærk, at den ikke muterer arrayet – den opretter blot en kopi af det. Det omvendte af denne metode er split-metoden, som forvandler en streng til et array. Den tager en streng som parameter, som er det, der vil blive brugt til at sammenføje hvert element i arrayet.

Den flade metode

Metoden flat er en ny metode, der blev tilføjet i ES11 (ES11 blev oprettet i juni i år). Denne metode flatterer et array.

Lad os sige, at vi har et array, der indeholder et array, og vi ønsker at finde summen og produktet af hvert element i arrays inde i arrayet. Det, jeg mener, er, at hvis jeg har et array, som er defineret ved , ], skal summen være 10, og produktet skal være 24.

En måde at gøre det på, er ved at løbe gennem det oprindelige array og løbe gennem hvert element og få summen og produktet.

Med ES6 kan jeg løbe gennem det oprindelige array og bruge reduce-metoden til at få summen og produktet for hvert element i hovedarrayet – og bruge det til at få den samlede sum og det samlede produkt. Men med arrayet flat kan jeg flade hovedarrayet og dermed returnere et enkelt array, der kun indeholder tal, og jeg kan bruge metoden reduce på det.

Metoden flatMap

Dette er en kombination af flat og map. Den mapper hvert element i arrayet til en given callback-funktion og flatterer derefter det resulterende array.

Lad os sige, at vi gerne vil have kvadratet på hvert element i et array, der ikke er flattet, og vi vil gerne flatte det. Denne metode vil gøre livet lettere for os. I den del, hvor jeg brugte flatMap-metoden i kodestumpen nedenfor, tager den et element, der er et array, og jeg returnerede et nyt array, som er kvadratet på elementerne. Og til sidst flader den det resulterende array ud.

Similar Posts

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.