⊗jsSpOtRHO 271 of 294 menu

Аптымізацыя паўтору цяжкіх операцый у JavaScript

У папярэднім уроке паўторныя выклікі функцый на самой справе займаюць вельмі мала часу і нашая аптымізацыя зэканоміць не вельмі шмат. Аднак, усё будзе значна горш, калі мы будзем некалькі разоў рабіць выклік "цяжкай" функцыі, якая выконваецца дастаткова доўгі час.

Хай, напрыклад, у нас ёсць функцыя, якая знаходзіць дзельнікі ліку:

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

Відавочна, што гэтая функцыя дастаткова "цяжкая". Таму дрэннай ідэяй будзе напісаць вось такі код:

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

Лепш, вядома ж, выканаць "цяжкую" аперацыю адзін раз і вынік запісаць у зменную, а потым выкарыстоўваць гэтую зменную ў патрэбных месцах:

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

Аптымізуйце прыведзены ніжэй код:

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; }
Беларуская
AfrikaansAzərbaycanБългарскиবাংলাČeštinaDanskDeutschΕλληνικά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
Мы выкарыстоўваем cookie для працы сайта, аналітыкі і персаналізацыі. Апрацоўка дадзеных адбываецца згодна Палітыкай канфідэнцыяльнасці.
прыняць усе наладзіць адхіліць