ट्रैक
/
JavaScript
JavaScript
/
अभ्यास
/
Elyse के लूप वाले जादू
Elyse के लूप वाले जादू

Elyse के लूप वाले जादू

सीखने का अभ्यास

परिचय

ऐरे के साथ काम करते समय आप अक्सर चाहते हैं कि ऐरे की हर वैल्यू के लिए कोड चले। इसे ऐरे पर इटरेशन करना या लूप करना कहते हैं।

यहाँ हम उस स्थिति को देखेंगे जिसमें आप इस दौरान ऐरे को बदलना नहीं चाहते। ऐरे में रूपांतरण करने के लिए कॉन्सेप्ट ऐरे ट्रांसफॉर्मेशन देखिए।

for लूप

ऐरे पर इटरेशन करने का सबसे साधारण तरीका for लूप का उपयोग करना है। इसके लिए कॉन्सेप्ट for लूप देखिए।

const numbers = [6.0221515, 10, 23];

for (let i = 0; i < numbers.length; i++) {
  console.log(numbers[i]);
}
// => 6.0221515
// => 10
// => 23

for...of लूप

जब आप हर इटरेशन में सीधे वैल्यू के साथ काम करना चाहते हैं और इंडेक्स की ज़रूरत बिल्कुल नहीं है, तो आप for...of लूप का उपयोग कर सकते हैं।

for...of ऊपर दिखाए गए साधारण for लूप की तरह ही काम करता है। फर्क इतना है कि इसमें लूप के अंदर इंडेक्स को वेरिएबल के रूप में संभालने की ज़रूरत नहीं पड़ती, बल्कि आपको सीधे वैल्यू मिल जाती है।

const numbers = [6.0221515, 10, 23];

// Because re-assigning number inside the loop will be very
// confusing, disallowing that via const is preferable.
for (const number of numbers) {
  console.log(number);
}
// => 6.0221515
// => 10
// => 23

आम for लूप की तरह ही, आप continue से वर्तमान इटरेशन रोक सकते हैं और break से लूप का चलना पूरी तरह बंद कर सकते हैं।

forEach मेथड

हर ऐरे में एक forEach मेथड होता है, जिसका उपयोग ऐरे के एलिमेंट पर लूप करने के लिए किया जा सकता है।

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

const numbers = [6.0221515, 10, 23];

numbers.forEach((number, index) => console.log(number, index));
// => 6.0221515 0
// => 10 1
// => 23 2

forEach लूप शुरू होने के बाद इटरेशन रोकने का कोई तरीका नहीं है। इस संदर्भ में break और continue स्टेटमेंट मौजूद नहीं हैं।

निर्देश

एक नई जादूगर के तौर पर एलिस को अपनी गड्डी का विश्लेषण कई अलग-अलग तरीकों से करना पड़ता है। चीज़ों को आसान रखने के लिए वह सिर्फ 1 से 10 तक की वैल्यू वाले पत्ते इस्तेमाल करती है।

1. गड्डी में किसी एक खास तरह के कितने पत्ते हैं, यह पता कीजिए

एलिस जानना चाहती है कि उसकी गड्डी में एक खास तरह के कितने पत्ते हैं।

एक फंक्शन cardTypeCheck लिखिए जो दो पैरामीटर लेता है: पत्तों का एक ऐरे (एलिस की गड्डी) और उस पत्ते का टाइप जिसे गिनना है।

Note

फंक्शन को forEach इस्तेमाल करना चाहिए और गड्डी में बताए गए टाइप के पत्तों की संख्या लौटानी चाहिए।

const cardType = 3;
cardTypeCheck([1, 2, 3, 4], cardType);
// => 1

2. कितने विषम या सम पत्ते हैं, यह पता कीजिए

एक और करतब के लिए एलिस को जानना होता है कि उसकी गड्डी में कितने विषम या सम पत्ते हैं।

एक फंक्शन determineOddEvenCards बनाइए जो दो पैरामीटर लेता है: पत्तों का एक ऐरे (एलिस की गड्डी) और एक बूलियन (true का मतलब 'सम' होता है और false का मतलब 'विषम')।

यह फंक्शन सिर्फ एक संख्या लौटाना चाहिए: गड्डी में मौजूद विषम या सम पत्तों की संख्या, जो दूसरे आर्गुमेंट की वैल्यू पर निर्भर करती है।

Note

अभ्यास के लिए इस बार फंक्शन के अंदर for...of लूप इस्तेमाल कीजिए।

determineOddEvenCards([1, 2, 3, 1, 5, 6], true);
// => 2

determineOddEvenCards([1, 2, 3, 1, 5, 6], false);
// => 4
GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
JavaScript Exercism

Elyse के लूप वाले जादू शुरू करने के लिए तैयार हैं?

Exercism पर साइन अप कीजिए और JavaScript को 37 कॉन्सेप्ट159 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।