⊗jsSpOtRHO 271 of 294 menu

Optimizarea repetării operațiilor grele în JavaScript

În lecția precedentă, apelurile repetate ale funcțiilor de fapt ocupă foarte puțin timp și optimizarea noastră va economisi nu foarte mult. Cu toate acestea, va fi mult mai rău dacă vom face de mai multe ori apelul unei funcții "grele" care se execută suficient de mult timp.

Să presupunem, de exemplu, că avem o funcție care găsește divizorii unui număr:

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

Evident, această funcție este suficient de "grele". Prin urmare, va fi o idee proastă să scriem un astfel de cod:

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

Mai bine, desigur, este să executăm operația "grele" o singură dată și să scriem rezultatul într-o variabilă, apoi să folosim această variabilă în locurile necesare:

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

Optimizați codul de mai jos:

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; }
Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge