Arrays er en veldig kraftig, svært fleksibel datastruktur som du uten tvil bruker i JavaScript-koden din. Men bruker du dem effektivt?
Det er flere metoder du kan bruke for å optimalisere JavaScript-matriser for bedre ytelse og effektivitet. En av de mest brukte datastrukturene i JavaScript er arrayen. Det er et populært valg for mange utviklere fordi det er så fleksibelt og enkelt å bruke.
Matriser kan imidlertid raskt bli en flaskehals for ytelse hvis du ikke bruker dem riktig. Her er fem måter du kan optimalisere JavaScript-matrisene dine på og øke den generelle kodeytelsen.
1. Bruk Spread Operator
Du kan opprette en ny matrise som inneholder elementene fra en annen med spredningsoperatoren, som er tre prikker (...).
Spredningsoperatøren kan kombinere to arrays, slik:
konst array1 = [1, 2, 3];
konst array2 = [4, 5, 6];
konst concatenatedArray = [...array1, ...array2];
konsoll.log (sammenkobletArray); // Utdata: [1, 2, 3, 4, 5, 6]
I dette tilfellet setter spredningsoperatoren sammen to matriser — array1 og array2 — til en ny array kalt
concatenatedArray. Den resulterende matrisen inneholder alle elementene i matrise1 etterfulgt av alle elementene i matrise2.Spredningsoperatøren kan også opprette en ny matrise med flere elementer. For eksempel:
konst originalArray = [1, 2, 3];
konst newArray = [...originalArray, 4, 5];
konsoll.log (nyArray); // Utdata: [1, 2, 3, 4, 5]
Du oppretter en ny matrise kalt newArray ved å ansette spredningsoperatøren. Den inneholder alle den originale matrisens elementer, etterfulgt av elementene 4 og 5. Når du arbeider med store matriser, kan spredningsoperatøren være mer effektiv enn metoder som concat() eller trykk(). I tillegg gjør det koden mer lesbar og konsis.
Du kan bruke JavaScripts arrays mer effektivt med spread-operatoren, som også gjør det enkelt å lage en ny array med flere elementer.
2. Unngå å bruke Delete Operator
Du kan slette et objekts egenskap ved å bruke delete-operatoren. Selv om du kan bruke delete for å fjerne et matriseelement, anbefales det ikke fordi det kan etterlate tomme eller tomme mellomrom i matrisen. Dette kan påvirke arrayens ytelse når du itererer over den eller prøver å få tilgang til bestemte elementer.
I stedet for å bruke slette operatør, vurder å bruke skjøte metode. Denne metoden kan fjerne elementene i en matrise og vil returnere en ny matrise uten tomme mellomrom.
Du kan bruke skjøte metode på følgende måte:
konst originalArray = [1, 2, 3, 4, 5];
// Fjern elementet ved indeks 2
konst newArray = originalArray.splice(2, 1);
Dette eksemplet fjerner elementet ved indeks 2 fra originalArray ved bruk av skjøtemetoden. Den nyopprettede matrisen (newArray) inneholder elementet som skjøtet fjernet. Elementet ved indeks 2 er ikke lenger til stede i originalArray, og det er ingen tomme mellomrom i matrisen.
3. Bruk Typed Arrays
I JavaScript kan du jobbe med binære data ved å bruke typematriser. Disse matrisene tillater direkte manipulering av det underliggende minnet og bruker elementer med fast lengde; de er mer effektive enn standard arrays.
Her er et eksempel på hvordan du oppretter en maskinskrevet matrise:
konst myArray = nyInt16Array(4);
konsoll.log (myArray); // Utdata: Int16Array [0, 0, 0, 0]
Dette eksemplet skaper en helt ny Int16Array med fire elementer satt til null.
Int8Array, Int16Array, Int32Array, Uint8Array, Uint16Array, Uint32Array, Float32Array, og Float64Array er alle eksempler på typer typematriser. Hver klassifisering er relatert til en bestemt type sammenkoblet informasjon og har en tilsvarende bytestørrelse.
Her er et eksempel på hvordan du bruker en Float32Array.
konst myArray = nyFloat32Array([1.0, 2.0, 3.0, 4.0]);
konsoll.log (myArray); // Utdata: Float32Array [1, 2, 3, 4]
Dette eksemplet lager en ny Float32Array med fire elementer satt til 1.0, 2.0, 3.0 og 4.0.
Innskrevne matriser er spesielt nyttige når du arbeider med store datasett eller utfører matematiske beregninger. De kan være mye raskere enn standard arrays fordi de lar deg manipulere minnet direkte.
Ved å gjøre det enklere å jobbe med binære data og gjøre matematiske beregninger, kan bruk av typematriser bidra til å optimalisere JavaScript-koden din.
4. Minimer iterasjoner
Det er vanlig å bruk en JavaScript-løkke å iterere over en matrise. I alle fall kan iterasjon over store arrayer være en flaskehals i ytelsen. Reduser antall ganger du itererer over JavaScript-matriser for å optimalisere dem.
En måte å oppnå dette på er å bruke filter, kart, og redusere i stedet for tradisjonelle løkker. Disse strategiene forbedrer kjøring av kode og er ofte raskere enn manuell iterasjon over en matrise.
Du kan bruke kartmetoden på følgende måte:
konst originalArray = [1, 2, 3, 4, 5];
// Multipliser hvert element med 2
konst newArray = originalArray.map((element) => element * 2)
I dette tilfellet oppretter koden en ny matrise kalt newArray ved hjelp av kartmetoden. Kartmetoden bruker en funksjon på hver komponent av originalArray og returnerer resultatene i en ny matrise.
5. Bruk destruktureringssyntaksen
JavaScripts destruktureringsfunksjon er en kraftig funksjon i JavaScript som lar deg trekke ut verdier fra matriser og objekter. Denne metoden gjør koden mer effektiv ved å utføre færre variabeltilordninger og færre matrisetilganger. Fordelene ved å bruke destrukturering strekker seg til lesbarhet og redusert skriveinnsats.
En illustrasjon av hvordan du trekker ut verdier fra en matrise ved å bruke destrukturering er som følger:
konst myArray = [1, 2, 3, 4, 5];
// Destrukturer det første og tredje elementet
konst [første,, tredje] = minArray;
konsoll.log (først); // Utgang: 1
konsoll.log (tredje); // Utgang: 3
Dette eksemplet bruker destrukturering for å trekke ut de første og tredje elementene fra myArray. Den tildeler verdien av det første elementet i arrayen til først variabel, og verdien av det tredje elementet til tredje variabel. Ved å etterlate et tomt rom i destruktureringsmønsteret, hopper den over det andre elementet.
Du kan også bruke destrukturering med funksjonsargumenter for å trekke ut verdier fra matriser:
funksjonminFunksjon([første sekund]) {
konsoll.log (først);
konsoll.log (andre);
}
konst myArray = [1, 2, 3, 4, 5];
myFunction (myArray); // Utdata: 1\n2
Dette eksemplet definerer en funksjon kalt minFunksjon som tar en matrise som en parameter. Den bruker deretter destrukturering for å logge det første og andre elementet i arrayet til konsollen.
Optimaliser JavaScript-matriser for raskere apper
Strømlinjeforming av JavaScript-matriser er avgjørende for å forbedre ytelsen til koden din. Du kan øke responsen og hastigheten til applikasjonene dine betydelig ved å gjøre det.
For å få mest mulig ut av matrisene dine, husk å bruke spredningsoperatoren, unngå delete-operatoren, bruk innskrevne matriser, reduser antall iterasjoner og bruk destrukturering. Prøv også å måle ytelsen til koden din og gjøre grunnleggende forbedringer for å garantere at applikasjonen din kjører jevnt.
Du kan lage applikasjoner som er raskere, mer pålitelige og gir en bedre brukeropplevelse ved å optimalisere arrayene dine.