⊗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 файлдарын қолданамыз. Деректерді өңдеу Құпиялылық саясаты бойынша жүреді.
барлығын қабылдау баптау қабылдамау