⊗jsSpOtRHO 271 of 294 menu

Optimalizácia opakovania ťažkých operácií v JavaScripte

V predchádzajúcej lekcii opakované volania funkcií v skutočnosti zaberajú veľmi málo času a naša optimalizácia ušetrí nie veľa. Avšak, všetko bude oveľa horšie, ak budeme niekoľko krát volať "ťažkú" funkciu, ktorá vykonáva sa dostatočne dlhý čas.

Nechajme, napríklad, máme funkciu, ktorá nachádza delitele čísla:

function getDivisorsSum(num) { let res = 0; for (let i = 1; i <= num; i++) { if (num % i === 0) { res += i; } } return res; }

Je zrejmé, že táto funkcia je dostatočne "ťažká". Preto zlým nápadom bude napísať takýto kód:

let num = 123456; if (getDivisorsSum(num) >= 10 && getDivisorsSum(num) <= 100) { console.log('+++'); } else { console.log('---'); }

Samozrejme, lepšie je vykonať "ťažkú" operáciu raz a výsledok zapísať do premennej, a potom použiť túto premennú na potrebných miestach:

let num = 123456; let sum = getDivisorsSum(num); if (sum >= 10 && sum <= 100) { console.log('+++'); } else { console.log('---'); }

Optimalizujte nižšie uvedený kód:

let num = 1233456789; if (getSumSquare(num) >= 10 && getSumSquare(num) <= 100) { console.log('+++'); } else { console.log('---'); } function getSumSquare(num) { let digits = String(num).split(''); let sum = 0; for (let digit of digits) { sum += digit ** 2; } return sum; }
Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť