⊗jsSpOtRHO 271 of 294 menu

जावास्क्रिप्ट में भारी ऑपरेशनों के दोहराव का ऑप्टिमाइजेशन

पिछले पाठ में फ़ंक्शन के बार-बार कॉल वास्तव में बहुत कम समय लेते हैं और हमारा ऑप्टिमाइजेशन बहुत अधिक बचत नहीं करेगा। हालाँकि, स्थिति तब बहुत खराब हो जाएगी जब हम कई बार एक "भारी" फ़ंक्शन को कॉल करेंगे, जिसे पूरा करने में काफी लंबा समय लगता है।

उदाहरण के लिए, मान लीजिए कि हमारे पास एक फ़ंक्शन है जो संख्या के भाजक ढूंढती है:

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çaisMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
हम साइट के कार्य, विश्लेषण और व्यक्तिगतकरण के लिए कुकीज़ का उपयोग करते हैं। डेटा प्रसंस्करण गोपनीयता नीति के अनुसार किया जाता है।
सभी स्वीकार करें कॉन्फ़िगर करें अस्वीकार करें