जावास्क्रिप्ट में इटरेटर और जेनरेटर का परिचय

2015 से, EcmaScript6 (ES6) ने जावास्क्रिप्ट कोडिंग प्रथाओं में कई प्रगति की है। जावास्क्रिप्ट के लिए कई आधुनिक अवधारणाएं पेश की गईं, जिससे कोडिंग अनुभव में काफी सुधार हुआ। इस लेख में, आप जावास्क्रिप्ट में इटरेटर और जेनरेटर के बारे में जानेंगे।

इटरेटर और जनरेटर दो अलग-अलग अवधारणाएं हैं, लेकिन उनका उपयोग समान तरीकों से किया जाता है। वे जावास्क्रिप्ट में सरणियों और वस्तुओं के माध्यम से पुनरावृति करने के लिए उपयोग किए जाते हैं।

इटरेटर्स

इटरेटर उन्नत लूप की तरह होते हैं जिन्हें रोका जा सकता है। इटरेटर में अगला () फ़ंक्शन होता है, जो मान और पूर्ण स्थिति देता है। मान फ़ील्ड किसी दिए गए अनुक्रमणिका में सरणी में मान है। किया गया बूलियन मान है जो लूप के माध्यम से पुनरावृत्ति के लिए पूरा होने की स्थिति देता है।

यहां एक उदाहरण दिया गया है जो दर्शाता है कि पुनरावृत्त कैसे होते हैं:

 function fruitIter(fruits){
let index = 0;
return {
next: function(){
return index < fruits.length ? { value: fruits[index++], done: false } : {done: true}
}
}
}
const fruitsArray = ["Mango", "Banana", "Grapes"];
const fruits = fruitIter(fruitsArray);
console.log(fruits.next().value);

आउटपुट :

 आम

जब आप FruitIter() विधि में FruitArray सरणी पास करते हैं, तो यह एक पुनरावर्तक देता है जो फल चर में संग्रहीत होता है। फलइटर () विधि में सूचकांक चर 0 से आरंभिक हो जाता है। यह विधि अगला () फ़ंक्शन देता है जो सरणी के माध्यम से लूपिंग में मदद करता है। अगला () फ़ंक्शन जाँचता है कि क्या सूचकांक फल की लंबाई से कम है। यदि ऐसा है, तो यह दो चर देता है: उस अनुक्रमणिका पर फल का नाम, और पूर्ण स्थिति। इन मूल्यों को वापस करते समय, यह सूचकांक मूल्य को भी बढ़ाता है।

यह विधि कैसे काम करती है और फलों के नाम को प्रिंट करने के लिए, आपको फल इटरेटर पर अगला () फ़ंक्शन को कॉल करना होगा और इसके मूल्य तक पहुंच प्राप्त करनी होगी।

सम्बंधित: प्रोग्रामिंग में एक फंक्शन क्या है?

जेनरेटर

जेनरेटर इटरेटर के समान हैं लेकिन वे कई मान लौटाते हैं। इन मूल्यों को उपज मूल्य कहा जाता है। फ़ंक्शन * सिंटैक्स का उपयोग करके जेनरेटर फ़ंक्शन लिखे जाते हैं। * का अर्थ है कि यह एक सामान्य कार्य नहीं है, बल्कि एक जनरेटर है। यहाँ जनरेटर का एक उदाहरण है:

 function* printFruits(){
yield "Mango";
yield "Banana";
yield "Grapes";
}
const fruit = printFruits();
console.log(fruit.next());

आउटपुट :

 {मान: 'आम', हो गया: झूठा}

इस उदाहरण में, उपज पुनरावर्तक है। जब आप फ़ंक्शन को कॉल करते हैं PrintFruits() , और Print Fruit.next() , तो यह आपको एक ऑब्जेक्ट देता है जहां आपको मूल्य मिलता है। किया गया स्थिति दर्शाता है कि क्या सभी मानों के माध्यम से पुनरावृति की गई है।

जावास्क्रिप्ट में ES6 कक्षाओं का उपयोग करके डेटा संरचनाएं सीखें

जावास्क्रिप्ट ES6 ने कोडिंग प्रथाओं में बहुत प्रगति की है। जिनमें से कम से कम ES6 कक्षाओं का उपयोग करके डेटा संरचनाओं का निर्माण नहीं कर रहा है। धकेलना। पॉप करें, और शीर्ष पर अपना रास्ता बनाएं और एक जावास्क्रिप्ट समर्थक बनें!