ऐरे के साथ काम करते समय आप अक्सर चाहते हैं कि ऐरे की हर वैल्यू के लिए कोड चले। इसे ऐरे पर इटरेशन करना या लूप करना कहते हैं।
यहाँ हम उस स्थिति को देखेंगे जिसमें आप इस दौरान ऐरे को बदलना नहीं चाहते। ऐरे में रूपांतरण करने के लिए कॉन्सेप्ट ऐरे ट्रांसफॉर्मेशन देखिए।
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 तक की वैल्यू वाले पत्ते इस्तेमाल करती है।
एलिस जानना चाहती है कि उसकी गड्डी में एक खास तरह के कितने पत्ते हैं।
एक फंक्शन cardTypeCheck लिखिए जो दो पैरामीटर लेता है: पत्तों का एक ऐरे (एलिस की गड्डी) और उस पत्ते का टाइप जिसे गिनना है।
फंक्शन को forEach इस्तेमाल करना चाहिए और गड्डी में बताए गए टाइप के पत्तों की संख्या लौटानी चाहिए।
const cardType = 3;
cardTypeCheck([1, 2, 3, 4], cardType);
// => 1
एक और करतब के लिए एलिस को जानना होता है कि उसकी गड्डी में कितने विषम या सम पत्ते हैं।
एक फंक्शन determineOddEvenCards बनाइए जो दो पैरामीटर लेता है: पत्तों का एक ऐरे (एलिस की गड्डी) और एक बूलियन (true का मतलब 'सम' होता है और false का मतलब 'विषम')।
यह फंक्शन सिर्फ एक संख्या लौटाना चाहिए: गड्डी में मौजूद विषम या सम पत्तों की संख्या, जो दूसरे आर्गुमेंट की वैल्यू पर निर्भर करती है।
अभ्यास के लिए इस बार फंक्शन के अंदर for...of लूप इस्तेमाल कीजिए।
determineOddEvenCards([1, 2, 3, 1, 5, 6], true);
// => 2
determineOddEvenCards([1, 2, 3, 1, 5, 6], false);
// => 4
Exercism पर साइन अप कीजिए और JavaScript को 37 कॉन्सेप्ट159 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।