⊗jsSpOtRHO 271 of 294 menu

JavaScript-de agyr amallaryň gaýtalanmagyny optimizasiýa etmek

Öňki sapakdaky funksiýalaryň gaýtalanýan çagyrylyşlary aslynda örän az wagt alýar we bizimiň optimizasiýamyz köp tygşytlamaz. Şonda-da, birnäçe gezek "agyr" funksiýany, ýagny ýeterlik uzak wagt alýan funksiýany, çağıranymyzda hemmeler has erbet bolar.

Meselem, bizde bir sanýň bölejilerini tapýan funksiýa bardyr diýeliň:

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

Bu funksiýanyň ýeterlik derejede "agyr" duguny aýdyň. Şonuň üçin aşakdaky kody ýazmak ýaramaz pikirdir:

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

Elbetde, "agyr" amaly bir gezek ýerine ýetirmek we netijäni üýtgeýän ýaly ýazmak, soňra bolsa gerekli ýerlerde şol üýtgeýjäni ulanmak has gowy:

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

Aşakdaky kody optimizasiýa ediň:

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; }
Türkmen
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkçeЎзбекOʻzbekTiếng Việt
Biz sahypanyň işlemegi, analitika we şahsyýetleşdirmek üçin cookie ulanýarys. Maglumatlaryň işlenişi Gizlinlik syýasaty boýunça amala aşyrylýar.
hemmesini kabul et sazlamak ret et