"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > जावास्क्रिप्ट ऐरे पुनरावृत्ति विधियों को समझना

जावास्क्रिप्ट ऐरे पुनरावृत्ति विधियों को समझना

2024-11-08 को प्रकाशित
ब्राउज़ करें:100

Understanding JavaScript Array Iteration Methods

मुझे हाल ही में एक साक्षात्कार प्रश्न का सामना करना पड़ा जिसमें जावास्क्रिप्ट ऐरे ऑब्जेक्ट पर पुनरावृति करने के विभिन्न तरीकों के बारे में पूछा गया था। प्रारंभ में संकेत सीधा-सा लगा, क्योंकि मुझसे कुछ उदाहरण कोड स्निपेट प्रदान करने की अपेक्षा की गई थी। हालाँकि, इस सवाल ने मुझे उलझा दिया, इसलिए मैंने प्रत्येक विधि में थोड़ा गहराई से उतरने का फैसला किया, न केवल उनका उपयोग कैसे किया जाए, बल्कि यह भी खोजा कि आप कब और क्यों एक दृष्टिकोण को दूसरे के बजाय चुन सकते हैं।

इस लेख में, मैं आपको जावास्क्रिप्ट में सरणियों को दोहराने के विभिन्न तरीकों के बारे में बताऊंगा, उनके अंतर, फायदे और उपयोग के मामलों पर प्रकाश डालूंगा।

पाश के लिए
फायदे:

  • लचीलापन: लूप के लिए लूप से बाहर निकलने या अगले पुनरावृत्ति पर जाने के लिए ब्रेक के उपयोग की अनुमति देकर लचीलापन प्रदान करता है। आप लूप के व्यवहार पर सटीक नियंत्रण प्रदान करते हुए, सूचकांकों को सीधे भी निर्दिष्ट कर सकते हैं।
  • गैर-अनुक्रमिक क्रम: लूप स्थितियों को समायोजित करके, जैसे कि पीछे की ओर पुनरावृत्ति करना या कुछ तत्वों को छोड़ना, आपके पास पुनरावृत्ति क्रम पर नियंत्रण होता है।

for...of लूप पेश किए जाने से पहले, पारंपरिक for लूप सरणी पुनरावृत्ति के लिए मानक विधि थी। हालाँकि, इसमें त्रुटियाँ होने की संभावना हो सकती है, जैसे सूचकांक को 0 के बजाय 1 पर शुरू करना या गलती से arr.length के बजाय arr.length का उपयोग करना - 1. जैसा कि एमडीएन सुझाव देता है, "इसके लिए आमतौर पर इसका उपयोग करना सबसे अच्छा है... यदि आप कर सकते हैं।"

कब उपयोग करें:
जब आपको पुनरावृत्ति पर पूर्ण नियंत्रण की आवश्यकता होती है, जैसे पुनरावृत्तियों को छोड़ना या विपरीत दिशा में पुनरावृत्ति करना।
जब आपको पुनरावृत्ति के दौरान सूचकांक और मूल्य दोनों की आवश्यकता होती है।

के लिए
फायदे:

  • सरलता और अनुशंसा: फॉर...ऑफ़ लूप एक सरणी पर पुनरावृति करने का एक सीधा और अनुशंसित तरीका है, क्योंकि यह स्वचालित रूप से आपके लिए सूचकांकों को संभालता है। आप अभी भी लूप से बाहर निकलने के लिए ब्रेक का उपयोग कर सकते हैं या सूचकांकों के बजाय मूल्यों के आधार पर अगले पुनरावृत्ति पर जाना जारी रख सकते हैं।

कब उपयोग करें:
जब आपको केवल मूल्यों के साथ काम करने की आवश्यकता होती है और सूचकांकों तक पहुंच की आवश्यकता नहीं होती है।

Array.prototype.map()
फायदे:

  • गैर-परिवर्तनशील: मूल सरणी अपरिवर्तित रहती है।
  • एक नया ऐरे लौटाता है: प्रत्येक तत्व पर निर्दिष्ट फ़ंक्शन लागू करने के बाद, मैप() परिणामों के साथ एक नया ऐरे लौटाता है। यह इसे कार्यात्मक प्रोग्रामिंग के लिए आदर्श बनाता है।

कब उपयोग करें:
जब आप किसी सरणी के प्रत्येक तत्व पर एक फ़ंक्शन लागू करना चाहते हैं और परिणाम को एक नई सरणी के रूप में चाहते हैं।

Array.prototype.forEach()
फायदे:

  • कोई रिटर्न वैल्यू नहीं: forEach() आपको नई सरणी लौटाए बिना प्रत्येक तत्व पर एक फ़ंक्शन निष्पादित करने की अनुमति देता है। इसका उपयोग अक्सर साइड इफेक्ट्स को निष्पादित करने के लिए किया जाता है, जैसे लॉगिंग, वेरिएबल अपडेट करना, या DOM में हेरफेर करना।

कब उपयोग करें:
जब आप किसी सरणी के प्रत्येक तत्व पर एक फ़ंक्शन लागू करना चाहते हैं, लेकिन एक नई सरणी लौटाने की आवश्यकता नहीं है।

Array.prototype.entries()
फायदे:

  • सूचकांकों और मूल्यों दोनों तक पहुंच: प्रविष्टियां() एक पुनरावर्तक लौटाता है जो प्रत्येक तत्व का सूचकांक और मूल्य दोनों प्रदान करता है। यह पारंपरिक फॉर लूप का उपयोग करने की तुलना में सरल और अधिक पठनीय हो सकता है। यदि कोई सरणी स्लॉट खाली है, तो यह मान के लिए अपरिभाषित वापस आ जाएगा।

कब उपयोग करें:
जब आपको सरणी तत्वों के सूचकांक और मान दोनों तक पहुंचने की आवश्यकता होती है।

Array.prototype.keys()
फायदे:

  • सूचकांकों तक पहुंच: कुंजी() सरणी के सूचकांकों के लिए एक पुनरावर्तक लौटाता है। यह तब उपयोगी होता है जब आपको केवल सूचकांकों की आवश्यकता होती है, मूल्यों की नहीं। विरल सरणियों में, [...arr.keys()] में खाली स्लॉट के लिए भी सूचकांक शामिल होंगे (जहां मान अपरिभाषित है)।

कब उपयोग करें:
जब आपको एक ऐसे पुनरावर्तक की आवश्यकता होती है जो केवल सरणी तत्वों के सूचकांक प्रदान करता है।

Array.prototype.values()
फायदे:

  • मानों तक पहुंच: values() सरणी के मानों के लिए एक पुनरावर्तक लौटाता है। यह सरणियों के साथ for...of का उपयोग करने के समान है लेकिन लूप के बजाय एक पुनरावर्तक प्रदान करता है।

कब उपयोग करें:
जब आपको एक ऐसे पुनरावर्तक की आवश्यकता होती है जो केवल सरणी तत्वों के मान प्रदान करता है।

ऐरे इटरेटर्स क्या हैं:
Array.prototype.entries(), Array.prototype.keys(), और Array.prototype.values() नए ऐरे इटरेटर ऑब्जेक्ट लौटाते हैं। ये पुनरावर्तक आपको एक समय में एक सरणी-जैसे संग्रह को एक तत्व को पार करने की अनुमति देते हैं। वे एक अगली() विधि के साथ आते हैं जो अनुक्रम में अगला मान प्रदान करता है, जिसे आवश्यकतानुसार कहा जा सकता है, जिससे मेमोरी को बचाने में मदद मिलती है।

यहां प्रविष्टियों का उपयोग करके एक उदाहरण दिया गया है():

const arr = ['a', 'b', 'c'];
const iterator = arr.entries();

console.log(iterator.next()); // { value: [0, 'a'], done: false }
console.log(iterator.next()); // { value: [1, 'b'], done: false }
console.log(iterator.next()); // { value: [2, 'c'], done: false }
console.log(iterator.next()); // { value: undefined, done: true }

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

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/ayako_yk/understandard-javascript-array-iteration-methods-8e?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.com से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3