⊗jsSpOtAC 279 of 294 menu

Optimering af konvertering til array i JavaScript

Det er ikke altid nødvendigt at opdele en streng i et array for at gøre noget ved den. Lad os se på et eksempel. Antag, 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årligt at opdele i et array her? Fordi det for det første bruger processorressourcer at opdele i et array, og for det andet vil det resulterende array optage plads i RAM (og denne plads vil være mere end den plads, som selve strengen optager).

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

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

Følgende kode finder summen af cifre i et indtastet tal fra et inputfelt. Foretag optimeringen:

<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 tæller antallet af bogstaver i en streng. Foretag optimeringen:

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 kontrollerer tilstedeværelsen af et symbol i en streng. Foretag optimeringen:

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