# जाभास्क्रिप्ट आधारभूत: एरेहरू र लूपहरू ![जाभास्क्रिप्ट आधारभूत - एरेहरू](../../../../translated_images/webdev101-js-arrays.439d7528b8a294558d0e4302e448d193f8ad7495cc407539cc81f1afe904b470.ne.png) > स्केच नोट [टोमोमी इमुरा](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 "एरेहरू") [![लूपहरू](https://img.youtube.com/vi/Eeh7pxtTZ3k/0.jpg)](https://www.youtube.com/watch?v=Eeh7pxtTZ3k "लूपहरू") > 🎥 माथिका तस्बिरहरूमा क्लिक गरेर एरेहरू र लूपहरूको बारेमा भिडियोहरू हेर्नुहोस्। > तपाईं यो पाठ [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 लूप `for` लूपले पुनरावृत्त गर्न 3 भागहरू आवश्यक छ: - `counter` एउटा चर जुन सामान्यतया पुनरावृत्तिको संख्या गणना गर्न नम्बरको साथ आरम्भ गरिन्छ। - `condition` तुलना अपरेटरहरू प्रयोग गर्ने अभिव्यक्ति, जुन `false` हुँदा लूप रोक्छ। - `iteration-expression` प्रत्येक पुनरावृत्तिको अन्त्यमा चल्छ, सामान्यतया काउन्टर मान परिवर्तन गर्न प्रयोग गरिन्छ। ```javascript // Counting up to 10 for (let i = 0; i < 10; i++) { console.log(i); } ``` ✅ यो कोड ब्राउजर कन्सोलमा चलाउनुहोस्। काउन्टर, सर्त, वा पुनरावृत्ति अभिव्यक्तिमा साना परिवर्तन गर्दा के हुन्छ? के तपाईं यसलाई उल्टो चलाउन सक्नुहुन्छ, काउन्टडाउन सिर्जना गर्दै? ### While लूप `for` लूपको सिन्ट्याक्सको विपरीत, `while` लूपहरूले केवल एक सर्त आवश्यक छ, जुन सर्त `false` हुँदा लूप रोक्छ। लूपहरूमा सर्तहरू सामान्यतया काउन्टरहरू जस्ता अन्य मानहरूमा निर्भर गर्दछ, र लूपको क्रममा व्यवस्थापन गर्नुपर्छ। काउन्टरहरूको सुरुवात मानहरू लूप बाहिर सिर्जना गर्नुपर्छ, र सर्त पूरा गर्न कुनै पनि अभिव्यक्तिहरू, काउन्टर परिवर्तन सहित, लूप भित्र कायम गर्नुपर्छ। ```javascript //Counting up to 10 let i = 0; while (i < 10) { console.log(i); i++; } ``` ✅ किन तपाईंले for लूपको सट्टा while लूप रोज्नुहुन्छ? १७ हजार दर्शकहरूले 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 ``` ✅ आफ्नो ब्राउजरको कन्सोलमा आफ्नै एरेमा लूप गर्दै प्रयोग गर्नुहोस्। --- ## GitHub Copilot Agent चुनौती 🚀 Agent मोड प्रयोग गरेर निम्न चुनौती पूरा गर्नुहोस्: **विवरण:** एरेहरू र लूपहरू संयोजन गरेर डाटासेट विश्लेषण गर्ने डाटा प्रोसेसिङ फङ्सन बनाउनुहोस्। **प्रम्ट:** `analyzeGrades` नामक फङ्सन सिर्जना गर्नुहोस्, जसले विद्यार्थी ग्रेड वस्तुहरूको एरे (प्रत्येकमा नाम र स्कोर प्रोपर्टीहरू समावेश छन्) लिन्छ र तथ्याङ्कहरू फर्काउँछ, जस्तै उच्चतम स्कोर, न्यूनतम स्कोर, औसत स्कोर, र पास भएका विद्यार्थीहरूको संख्या (स्कोर >= 70)। डाटा प्रोसेस गर्न लूपहरू प्रयोग गर्नुहोस्। ## 🚀 चुनौती एरेहरूमा लूप गर्ने अन्य तरिकाहरू पनि छन्, जस्तै [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) प्रयोग गरेर अनुवाद गरिएको छ। हामी शुद्धताको लागि प्रयास गर्छौं, तर कृपया ध्यान दिनुहोस् कि स्वचालित अनुवादमा त्रुटिहरू वा अशुद्धताहरू हुन सक्छ। यसको मूल भाषा मा रहेको मूल दस्तावेजलाई आधिकारिक स्रोत मानिनुपर्छ। महत्वपूर्ण जानकारीको लागि, व्यावसायिक मानव अनुवाद सिफारिस गरिन्छ। यस अनुवादको प्रयोगबाट उत्पन्न हुने कुनै पनि गलतफहमी वा गलत व्याख्याको लागि हामी जिम्मेवार हुने छैनौं।