⊗jsSpOtAC 279 of 294 menu

Optimalisering av konvertering til array i JavaScript

Det er ikke alltid nødvendig å splitte en streng til et array for å gjøre noe med den. La oss se på et eksempel. Anta at vi har følgende kode:

let num = 123456789; let arr = String(num).split(''); let sum = 0; for (let elem of arr) { sum += +elem; } console.log(sum);

Hvorfor er det dårlig å splitte til et array her? Fordi det for det første bruker prosessorkraft på å splitte til array, og for det andre vil det resulterende arrayet oppta plass i operativminnet (dessuten vil det ta mer plass enn selve strengen).

Men faktisk kan man med for-of iterere ikke bare over arrays, men også over strenger:

let num = 123456789; let str = String(num); let sum = 0; for (let char of str) { sum += +char; } console.log(sum);

Følgende kode finner summen av sifrene i et tall som er skrevet inn i en input. Utfør optimalisering:

<input> let input = document.querySelector('input'); input.addEventListener('blur', function() { let digits = input.value.split(''); let sum = 0; for (let digit of digits) { sum += +digit; } console.log(sum); });

Følgende kode teller antall bokstaver i en streng. Utfør optimalisering:

let str = 'abcaab'; let arr = str.split(''); let i = 0; for (let elem of arr) { if (elem == 'a') { i++; } } console.log(i);

Følgende kode sjekker om et symbol finnes i en streng. Utfør optimalisering:

let str = 'abcaab'; let arr = str.split(''); console.log(arr.includes('a'));
Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis