⊗jsSpOtRHO 271 of 294 menu

JavaScriptда огир операцияларни такрорлашни оптимизациялаш

Олдинги дарсда функцияларни такрорланган чақиришлар аслинда жуда оз вакт олади ва бизнинг оптимизациямиз жуда кўп тежамайди. Бирок, ҳолат айни замонда анча ёмонрок бўлади, агар биз бир неча mарта "огир" функцияни чақирсак, у ужарли вакт davomida бажарилади.

Мисол учун, бизда соннинг бўлувчиларини топадиган функция бор дейлик:

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ščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш