⊗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ščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј