⊗jsSpOtRHO 271 of 294 menu

Smagu operāciju atkārtošanas optimizācija JavaScript

Iepriekšējā nodarbībā atkārtoti funkciju izsaukumi patiesībā aizņem ļoti maz laika un mūsu optimizācija ietaupīs ne pārāk daudz. Tomēr, viss būs daudz sliktāk, ja mēs vairākas reizes izsauksim "smago" funkciju, kas izpildās pietiekami ilgu laiku.

Pieņemsim, ka mums piemēram, ir funkcija, kas atrod skaitļa dalītājus:

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

Acīmredzot, šī funkcija ir pietiekami "smaga". Tāpēc slikta ideja būtu uzrakstīt šādu kodu:

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

Labāk, protams, izpildīt "smago" operāciju vienu reizi un rezultātu ierakstīt mainīgajā, un tad izmantot šo mainīgo vajadzīgajās vietās:

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

Optimizējiet zemāk redzamo kodu:

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; }
Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt