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