# जावास्क्रिप्ट मूल बातें: ऐरे और लूप्स

![जावास्क्रिप्ट मूल बातें - एरेस ](/sketchnotes/webdev101-js-arrays.png)
> [टोमोमी इमुरा](https://twitter.com/girlie_mac) द्वारा स्केचनेट

## पूर्व व्याख्यान प्रश्नोत्तरी
[पूर्व व्याख्यान प्रश्नोत्तरी](https://ashy-river-0debb7803.1.azurestaticapps.net/quiz/13?loc=hi)

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

[![ऐरे](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 "लूप्स")

> ऐरे और लूप्स के बारे में वीडियो के लिए ऊपर दी गई छवि पर क्लिक करें।
## एरेस

डेटा के साथ काम करना किसी भी भाषा के लिए एक सामान्य कार्य है, और यह एक बहुत आसान काम है जब डेटा को एक संरचनात्मक प्रारूप में व्यवस्थित किया जाता है, जैसे कि सरणियाँ। एरेस के साथ, डेटा को एक सूची के समान संरचना में संग्रहीत किया जाता है। सरणियों का एक प्रमुख लाभ यह है कि आप विभिन्न प्रकार के डेटा को एक सरणी में संग्रहीत कर सकते हैं।

✅ हमारे चारों तरफ ऐरे हैं! क्या आप किसी सरणी के वास्तविक जीवन के उदाहरण के बारे में सोच सकते हैं, जैसे कि सौर पैनल एरे?

एक एरे के लिए सिंटेक्स वर्ग कोष्ठक की एक जोड़ी है।

```javascript
let myArray = [];
```

यह एक खाली एरे है, लेकिन एरेस को पहले से ही डेटा के साथ आबाद घोषित किया जा सकता है। एक एरे में एकाधिक मान अल्पविराम द्वारा अलग किए गए हैं।

```javascript
let iceCreamFlavors = ["Chocolate", "Strawberry", "Vanilla", "Pistachio", "Rocky Road"];
```

एरे मानों को एक अद्वितीय मान दिया जाता है जिसे **सूचकांक** कहा जाता है, एक पूरी संख्या जो कि एरे की शुरुआत से इसकी दूरी के आधार पर निर्दिष्ट की जाती है। ऊपर के उदाहरण में, स्ट्रिंग मूल्य "चॉकलेट" में 0 का सूचकांक है, और "रॉकी ​​रोड" का सूचकांक है। 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` अभिव्यक्ति कि तुलना ऑपरेटरों का उपयोग करता है जब लूप को रोकने का कारण होता है `true`
    - `iteration-expression` प्रत्येक पुनरावृत्ति के अंत में चलता है, आमतौर पर काउंटर मान को बदलने के लिए उपयोग किया जाता है
  
```javascript
// Counting up to 10
for (let i = 0; i < 10; i++) {
  console.log(i);
}
```

✅ इस कोड को ब्राउज़र कंसोल में चलाएं। जब आप काउंटर, स्थिति या पुनरावृत्ति अभिव्यक्ति में छोटे बदलाव करते हैं तो क्या होता है? क्या आप उल्टी गिनती बनाकर इसे पीछे की ओर चला सकते हैं?

### व्हाइल लूप

`for` लूप के लिए सिंटैक्स के विपरीत, `वाइल` लूप्स को केवल एक शर्त की आवश्यकता होती है जो लूप को रोक देगा जब `true` होगा। लूप में स्थितियां आमतौर पर काउंटर जैसे अन्य मूल्यों पर निर्भर करती हैं, और लूप के दौरान प्रबंधित की जानी चाहिए। काउंटर के लिए मान शुरू करना लूप के बाहर बनाया जाना चाहिए, और किसी भी स्थिति को पूरा करने के लिए किसी भी भाव सहित, काउंटर को लूप के अंदर बनाए रखा जाना चाहिए।

```javascript
//Counting up to 10
let i = 0;
while (i < 10) {
 console.log(i);
 i++;
}
```

✅ आप एक फॉर लूप और वाइल लूप क्यों चुनेंगे? 17K दर्शकों का StackOverflow पर एक ही सवाल था, और कुछ राय [आपके लिए दिलचस्प हो सकती है](https://stackoverflow.com/questions/39969145/ORE-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/Anray/map)। इन तकनीकों में से किसी एक का उपयोग करके अपने ऐरे लूप को फिर से लिखें।

## व्याख्यान उपरांत प्रश्नोत्तरी
[व्याख्यान उपरांत प्रश्नोत्तरी](https://ashy-river-0debb7803.1.azurestaticapps.net/quiz/14?loc=hi)


## समीक्षा और स्व अध्ययन

जावास्क्रिप्ट में ऐरे के पास कई तरीके हैं, जो डेटा हेरफेर के लिए बेहद उपयोगी हैं। [इन तरीकों को पढ़ें](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array) और उनमें से कुछ को आज़माएं (जैसे पुश, पॉप, स्लाइस और एसप्लाइस) आपकी रचना पे।

## असाइनमेंट

[एक अरै लूप](assignment.hi.md)
