⊗jsSpOtAC 279 of 294 menu

Optimalizace převodu na pole v JavaScriptu

Není vždy nutné převádět řetězec na pole, abychom s ním něco provedli. Podívejme se na příklad. Mějme následující kód:

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

Proč je zde převod na pole špatný? Protože zaprvé, převod na pole spotřebovává procesorové zdroje, a zadruhé, výsledné pole bude zabírat místo v operační paměti (a to více místa, než zabírá samotný řetězec).

Pomocí for-of lze ale iterovat nejen přes pole, ale i přes řetězce:

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

Následující kód hledá součet číslic zadaného čísla v inputu. Proveďte optimalizaci:

<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); });

Následující kód počítá množství písmen v řetězci. Proveďte optimalizaci:

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

Následující kód kontroluje přítomnost symbolu v řetězci. Proveďte optimalizaci:

let str = 'abcaab'; let arr = str.split(''); console.log(arr.includes('a'));
Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικά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
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout