⊗jsSpOtRHO 271 of 294 menu

Optimizacija ponavljanja težkih operacij v JavaScriptu

V prejšnji lekciji ponovni klici funkcij v resnici zasedejo zelo malo časa in naša optimizacija prihrani ne zelo veliko. Vendar pa bo vse veliko slabše, če bomo večkrat klicali "težko" funkcijo, ki se izvaja dokaj dolgo časa.

Recimo, na primer, da imamo funkcijo, ki poišče delitelje števila:

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

Očitno je, da je ta funkcija precej "težka". Zato je slaba ideja napisati takšno kodo:

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

Bolje je, seveda, izvesti "težko" operacijo enkrat in rezultat zapisati v spremenljivko, nato pa uporabiti to spremenljivko na želenih mestih:

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

Optimizirajte spodnjo kodo:

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
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni