# जावास्क्रिप्ट बेसिक्स: ऐरे और लूप्स ![जावास्क्रिप्ट बेसिक्स - ऐरे](../../../../translated_images/webdev101-js-arrays.439d7528b8a294558d0e4302e448d193f8ad7495cc407539cc81f1afe904b470.hi.png) > स्केच नोट [Tomomi Imura](https://twitter.com/girlie_mac) द्वारा ## प्री-लेक्चर क्विज़ [प्री-लेक्चर क्विज़](https://ff-quizzes.netlify.app/web/quiz/13) यह पाठ जावास्क्रिप्ट की बुनियादी बातों को कवर करता है, जो वेब पर इंटरएक्टिविटी प्रदान करता है। इस पाठ में, आप ऐरे और लूप्स के बारे में जानेंगे, जो डेटा को मैनेज करने के लिए उपयोग किए जाते हैं। [![ऐरे](https://img.youtube.com/vi/1U4qTyq02Xw/0.jpg)](https://youtube.com/watch?v=1U4qTyq02Xw "Arrays") [![लूप्स](https://img.youtube.com/vi/Eeh7pxtTZ3k/0.jpg)](https://www.youtube.com/watch?v=Eeh7pxtTZ3k "Loops") > 🎥 ऊपर दी गई छवियों पर क्लिक करें ऐरे और लूप्स के बारे में वीडियो देखने के लिए। > आप इस पाठ को [Microsoft Learn](https://docs.microsoft.com/learn/modules/web-development-101-arrays/?WT.mc_id=academic-77807-sagibbon) पर भी ले सकते हैं! ## ऐरे किसी भी प्रोग्रामिंग भाषा में डेटा के साथ काम करना एक सामान्य कार्य है, और जब डेटा को एक संरचनात्मक प्रारूप, जैसे ऐरे में व्यवस्थित किया जाता है, तो यह कार्य बहुत आसान हो जाता है। ऐरे के साथ, डेटा को एक सूची के समान संरचना में संग्रहीत किया जाता है। ऐरे का एक बड़ा लाभ यह है कि आप एक ही ऐरे में विभिन्न प्रकार के डेटा संग्रहीत कर सकते हैं। ✅ ऐरे हमारे चारों ओर हैं! क्या आप किसी वास्तविक जीवन के उदाहरण के बारे में सोच सकते हैं, जैसे सोलर पैनल ऐरे? ऐरे के लिए सिंटैक्स एक जोड़ी वर्ग कोष्ठक है। ```javascript let myArray = []; ``` यह एक खाली ऐरे है, लेकिन ऐरे को पहले से डेटा के साथ घोषित किया जा सकता है। ऐरे में कई मानों को कॉमा से अलग किया जाता है। ```javascript let iceCreamFlavors = ["Chocolate", "Strawberry", "Vanilla", "Pistachio", "Rocky Road"]; ``` ऐरे के मानों को एक अद्वितीय मान सौंपा जाता है जिसे **इंडेक्स** कहा जाता है, जो ऐरे की शुरुआत से उसकी दूरी के आधार पर एक पूर्णांक होता है। ऊपर दिए गए उदाहरण में, स्ट्रिंग मान "Chocolate" का इंडेक्स 0 है, और "Rocky Road" का इंडेक्स 4 है। इंडेक्स का उपयोग वर्ग कोष्ठकों के साथ करके ऐरे के मानों को पुनः प्राप्त, बदल, या सम्मिलित किया जा सकता है। ✅ क्या आपको यह जानकर आश्चर्य हुआ कि ऐरे का इंडेक्स शून्य से शुरू होता है? कुछ प्रोग्रामिंग भाषाओं में, इंडेक्स 1 से शुरू होता है। इसके पीछे एक दिलचस्प इतिहास है, जिसे आप [विकिपीडिया पर पढ़ सकते हैं](https://en.wikipedia.org/wiki/Zero-based_numbering)। ```javascript let iceCreamFlavors = ["Chocolate", "Strawberry", "Vanilla", "Pistachio", "Rocky Road"]; iceCreamFlavors[2]; //"Vanilla" ``` आप इंडेक्स का उपयोग करके किसी मान को इस तरह बदल सकते हैं: ```javascript iceCreamFlavors[4] = "Butter Pecan"; //Changed "Rocky Road" to "Butter Pecan" ``` और आप किसी दिए गए इंडेक्स पर एक नया मान इस तरह सम्मिलित कर सकते हैं: ```javascript iceCreamFlavors[5] = "Cookie Dough"; //Added "Cookie Dough" ``` ✅ ऐरे में मान जोड़ने का एक अधिक सामान्य तरीका ऐरे ऑपरेटरों जैसे array.push() का उपयोग करना है। यह पता लगाने के लिए कि ऐरे में कितने आइटम हैं, `length` प्रॉपर्टी का उपयोग करें। ```javascript let iceCreamFlavors = ["Chocolate", "Strawberry", "Vanilla", "Pistachio", "Rocky Road"]; iceCreamFlavors.length; //5 ``` ✅ इसे स्वयं आज़माएं! अपने ब्राउज़र के कंसोल का उपयोग करके अपना खुद का ऐरे बनाएं और उसमें बदलाव करें। ## लूप्स लूप्स हमें दोहराव या **पुनरावृत्त** कार्य करने की अनुमति देते हैं, और यह बहुत समय और कोड बचा सकते हैं। प्रत्येक पुनरावृत्ति में उनके वेरिएबल्स, मान, और शर्तें भिन्न हो सकती हैं। जावास्क्रिप्ट में विभिन्न प्रकार के लूप्स होते हैं, और उनमें छोटे अंतर होते हैं, लेकिन मूल रूप से वे सभी एक ही काम करते हैं: डेटा पर लूप करना। ### फॉर लूप `for` लूप को पुनरावृत्ति के लिए 3 भागों की आवश्यकता होती है: - `counter` एक वेरिएबल जो आमतौर पर पुनरावृत्तियों की संख्या गिनने के लिए एक संख्या के साथ प्रारंभ होता है। - `condition` एक अभिव्यक्ति जो तुलना ऑपरेटरों का उपयोग करती है और जब `false` हो जाती है तो लूप को रोक देती है। - `iteration-expression` प्रत्येक पुनरावृत्ति के अंत में चलता है, आमतौर पर काउंटर मान को बदलने के लिए उपयोग किया जाता है। ```javascript // Counting up to 10 for (let i = 0; i < 10; i++) { console.log(i); } ``` ✅ इस कोड को ब्राउज़र कंसोल में चलाएं। क्या होता है जब आप काउंटर, कंडीशन, या इटरेशन एक्सप्रेशन में छोटे बदलाव करते हैं? क्या आप इसे उल्टा चला सकते हैं, एक काउंटडाउन बनाते हुए? ### वाइल लूप `for` लूप के सिंटैक्स के विपरीत, `while` लूप्स को केवल एक कंडीशन की आवश्यकता होती है जो कंडीशन `false` होने पर लूप को रोक देगा। लूप्स में कंडीशन आमतौर पर अन्य मानों जैसे काउंटर पर निर्भर करती है, और इसे लूप के दौरान प्रबंधित किया जाना चाहिए। काउंटर के लिए प्रारंभिक मान लूप के बाहर बनाए जाने चाहिए, और कंडीशन को पूरा करने के लिए किसी भी अभिव्यक्ति, जिसमें काउंटर को बदलना शामिल है, लूप के अंदर बनाए रखना चाहिए। ```javascript //Counting up to 10 let i = 0; while (i < 10) { console.log(i); i++; } ``` ✅ आप फॉर लूप के बजाय वाइल लूप क्यों चुनेंगे? 17K दर्शकों ने StackOverflow पर यही सवाल पूछा, और कुछ राय [आपके लिए दिलचस्प हो सकती हैं](https://stackoverflow.com/questions/39969145/while-loops-vs-for-loops-in-javascript)। ## लूप्स और ऐरे ऐरे अक्सर लूप्स के साथ उपयोग किए जाते हैं क्योंकि अधिकांश कंडीशन लूप को रोकने के लिए ऐरे की लंबाई की आवश्यकता होती है, और इंडेक्स काउंटर मान भी हो सकता है। ```javascript let iceCreamFlavors = ["Chocolate", "Strawberry", "Vanilla", "Pistachio", "Rocky Road"]; for (let i = 0; i < iceCreamFlavors.length; i++) { console.log(iceCreamFlavors[i]); } //Ends when all flavors are printed ``` ✅ अपने ब्राउज़र के कंसोल में अपना खुद का ऐरे बनाकर उस पर लूपिंग का प्रयोग करें। --- ## 🚀 चुनौती ऐरे पर लूपिंग के अन्य तरीके भी हैं, जैसे [forEach](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach), [for-of](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/for...of), और [map](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array/map)। अपने ऐरे लूप को इन तकनीकों में से किसी एक का उपयोग करके फिर से लिखें। ## पोस्ट-लेक्चर क्विज़ [पोस्ट-लेक्चर क्विज़](https://ff-quizzes.netlify.app/web/quiz/14) ## समीक्षा और स्व-अध्ययन जावास्क्रिप्ट में ऐरे के साथ कई विधियां जुड़ी होती हैं, जो डेटा को मैनेज करने के लिए बेहद उपयोगी होती हैं। [इन विधियों के बारे में पढ़ें](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array) और उन्हें अपने द्वारा बनाए गए ऐरे पर आज़माएं (जैसे push, pop, slice और splice)। ## असाइनमेंट [ऐरे पर लूप करें](assignment.md) --- **अस्वीकरण**: यह दस्तावेज़ AI अनुवाद सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) का उपयोग करके अनुवादित किया गया है। जबकि हम सटीकता के लिए प्रयासरत हैं, कृपया ध्यान दें कि स्वचालित अनुवाद में त्रुटियां या अशुद्धियां हो सकती हैं। मूल भाषा में उपलब्ध मूल दस्तावेज़ को आधिकारिक स्रोत माना जाना चाहिए। महत्वपूर्ण जानकारी के लिए, पेशेवर मानव अनुवाद की सिफारिश की जाती है। इस अनुवाद के उपयोग से उत्पन्न किसी भी गलतफहमी या गलत व्याख्या के लिए हम उत्तरदायी नहीं हैं।