Nizi so zelo zmogljiva in zelo prilagodljiva podatkovna struktura, ki jo nedvomno uporabljate v kodi JavaScript. Toda ali jih uporabljate učinkovito?
Obstaja več metod, ki jih lahko uporabite za optimizacijo nizov JavaScript za boljšo zmogljivost in učinkovitost. Ena najpogosteje uporabljenih podatkovnih struktur v JavaScriptu je matrika. To je priljubljena izbira za številne razvijalce, ker je tako prilagodljiv in enostaven za uporabo.
Vendar lahko nizi hitro postanejo ozko grlo pri delovanju, če jih ne uporabljate pravilno. Tukaj je pet načinov, kako lahko optimizirate nize JavaScript in povečate splošno učinkovitost kode.
1. Uporabite operaterja Spread
Ustvarite lahko novo matriko, ki vsebuje elemente iz druge, z operatorjem za širjenje, ki je tri pike (...).
Operator širjenja lahko združi dve matriki, kot je ta:
konst niz1 = [1, 2, 3];
konst niz2 = [4, 5, 6];
konst concatenatedArray = [...matrika1, ...matrika2];
konzola.log (concatenatedArray); // Izhod: [1, 2, 3, 4, 5, 6]
V tem primeru operator razširjanja združi dve matriki – array1 in array2 – v novo matriko, imenovano
concatenatedArray. Nastala matrika vsebuje vse elemente matrike1, ki jim sledijo vsi elementi matrike2.Operator razširjanja lahko ustvari tudi novo matriko z več elementi. Na primer:
konst originalArray = [1, 2, 3];
konst newArray = [...originalArray, 4, 5];
konzola.log (nova matrika); // Izhod: [1, 2, 3, 4, 5]
Ustvarite novo matriko, imenovano newArray z uporabo operaterja širjenja. Vsebuje vse elemente izvirne matrike, ki ji sledita elementa 4 in 5. Ko imamo opravka z velikimi nizi, je lahko operator razpršitve učinkovitejši od metod, kot je concat() oz potisni(). Poleg tega naredi kodo bolj berljivo in jedrnato.
Matrike JavaScripta lahko učinkoviteje uporabljate z operatorjem za širjenje, kar prav tako olajša ustvarjanje nove matrike z več elementi.
2. Izogibajte se uporabi operatorja za brisanje
Lastnost objekta lahko izbrišete z operatorjem za brisanje. Medtem ko lahko uporabite delete za odstranitev elementa matrike, to ni priporočljivo, ker lahko pusti prazne ali prazne prostore v matriki. To lahko vpliva na delovanje matrike, ko jo ponavljate ali poskušate dostopati do določenih elementov.
Namesto uporabe izbrisati operaterja, razmislite o uporabi spoj metoda. Ta metoda lahko odstrani elemente matrike in vrne novo matriko brez praznih prostorov.
Lahko uporabite spoj metodo na naslednji način:
konst originalArray = [1, 2, 3, 4, 5];
// Odstrani element na indeksu 2
konst newArray = originalArray.splice(2, 1);
Ta primer odstrani element z indeksom 2 iz originalArray z uporabo metode spajanja. Novo ustvarjeno polje (nova matrika) vsebuje element, ki je bil odstranjen. Element z indeksom 2 ni več prisoten v originalArray, in v matriki ni praznih prostorov.
3. Uporabite tipizirana polja
V JavaScriptu lahko delate z binarnimi podatki z uporabo vnesenih nizov. Ti nizi omogočajo neposredno manipulacijo osnovnega pomnilnika in uporabljajo elemente fiksne dolžine; so učinkovitejši od standardnih nizov.
Tu je primer, kako ustvariti vneseno matriko:
konst mojArray = novoInt16Array(4);
konzola.log (myArray); // Izhod: Int16Array [0, 0, 0, 0]
Ta primer ustvari povsem novo Int16Array s štirimi elementi, nastavljenimi na nič.
Int8Array, Int16Array, Int32Array, Uint8Array, Uint16Array, Uint32Array, Float32Array, in Float64Array so vsi primeri vrst tipiziranih nizov. Vsaka klasifikacija se nanaša na določeno vrsto seznanjenih informacij in ima ustrezno velikost bajtov.
Tukaj je primer, kako uporabiti a Float32Array.
konst mojArray = novoFloat32Array([1.0, 2.0, 3.0, 4.0]);
konzola.log (myArray); // Izhod: Float32Array [1, 2, 3, 4]
Ta primer ustvari novo Float32Array s štirimi elementi, nastavljenimi na 1.0, 2.0, 3.0 in 4.0.
Tipizirana polja so še posebej koristna pri delu z velikimi nabori podatkov ali izvajanju matematičnih izračunov. Lahko so veliko hitrejši od standardnih nizov, ker vam omogočajo neposredno upravljanje pomnilnika.
S poenostavitvijo dela z binarnimi podatki in izvajanjem matematičnih izračunov lahko uporaba vnesenih nizov pomaga optimizirati vašo kodo JavaScript.
4. Zmanjšajte ponovitve
To je običajno za uporabite zanko JavaScript za ponavljanje po matriki. V vsakem primeru je ponavljanje po velikih nizih lahko ozko grlo. Zmanjšajte število ponovitev po nizih JavaScript, da jih optimizirate.
Eden od načinov, kako to doseči, je uporaba filter, zemljevid, in zmanjšati namesto tradicionalnih zank. Te strategije izboljšajo izvajanje kode in so pogosto hitrejše od ročnega ponavljanja po matriki.
Metodo zemljevida lahko uporabite na naslednji način:
konst originalArray = [1, 2, 3, 4, 5];
// Vsak element pomnožimo z 2
konst newArray = originalArray.map((element) => element * 2)
V tem primeru koda ustvari novo matriko, imenovano newArray z uporabo metode zemljevida. Metoda zemljevida uporabi funkcijo za vsako komponento originalArray in vrne rezultate v novi matriki.
5. Uporabite sintakso destrukturiranja
Funkcija destrukturiranja JavaScripta je zmogljiva funkcija v JavaScriptu, ki vam omogoča ekstrahiranje vrednosti iz nizov in predmetov. Ta metoda naredi kodo učinkovitejšo z izvajanjem manj dodelitev spremenljivk in manj dostopov do matrike. Prednosti uporabe destrukturiranja segajo do berljivosti in manjšega pisanja.
Ilustracija, kako ekstrahirati vrednosti iz matrike z destrukturiranjem, je naslednja:
konst mojArray = [1, 2, 3, 4, 5];
// Destrukturiranje prvega in tretjega elementa
konst [prvi,, tretji] = myArray;
konzola.log (prvi); // Izhod: 1
konzola.log (tretji); // Izhod: 3
Ta primer uporablja destrukturiranje za ekstrahiranje prvega in tretjega elementa myArray. Vrednost prvega elementa matrike dodeli prvi spremenljivka in vrednost tretjega elementa tretji spremenljivka. Če v vzorcu destrukturiranja pusti prazen prostor, preskoči drugi element.
Za ekstrahiranje vrednosti iz nizov lahko uporabite tudi destrukturiranje s funkcijskimi argumenti:
funkcijomojaFunkcija([prva sekunda]) {
konzola.log (prvi);
konzola.log (drugi);
}
konst mojArray = [1, 2, 3, 4, 5];
mojaFunkcija (myArray); // Izhod: 1\n2
Ta primer definira funkcijo, imenovano mojaFunkcija ki kot parameter sprejme matriko. Nato uporabi destrukturiranje za beleženje prvega in drugega elementa matrike v konzolo.
Optimizirajte polja JavaScript za hitrejše aplikacije
Poenostavitev nizov JavaScript je bistvena za izboljšanje učinkovitosti vaše kode. S tem lahko znatno povečate odzivnost in hitrost svojih aplikacij.
Če želite kar najbolje izkoristiti svoje nize, ne pozabite uporabiti operatorja za širjenje, izogibajte se operatorju brisanja, uporabite vnesene nize, zmanjšajte število ponovitev in uporabite destrukturiranje. Poskusite tudi izmeriti zmogljivost vaše kode in narediti temeljne izboljšave, da zagotovite nemoteno delovanje vaše aplikacije.
Z optimizacijo nizov lahko ustvarite aplikacije, ki so hitrejše, bolj zanesljive in nudijo boljšo uporabniško izkušnjo.