JavaScript में फ्लैग के साथ काम करना
अब हम फ्लैग के साथ काम करना सीखेंगे।
फ्लैग एक विशेष चर है, जो
केवल दो मान ले सकता है: true
और false। फ्लैग की मदद से, ऐसे कार्यों को हल किया जा सकता है
जो किसी चीज की अनुपस्थिति की जाँच करते हैं:
उदाहरण के लिए, यह जाँच की जा सकती है कि सरणी में
एक निश्चित मान वाला कोई तत्व नहीं है। आइए
शुरू करते हैं।
आइए निम्नलिखित कार्य को हल करें: एक सरणी दी गई है
संख्याओं के साथ, यह जाँच करने की आवश्यकता है कि क्या इसमें
मान 3 वाला तत्व है या नहीं। यदि
है - '+++' प्रिंट करें, यदि नहीं -
'---' प्रिंट करें।
सबसे पहले, '+++' प्रिंट करने का प्रयास करते हैं।
इसके लिए हम अपनी सरणी के सभी तत्वों को पार करेंगे
और if के साथ पूछेंगे - क्या वर्तमान
तत्व मान 3 के बराबर है। यदि बराबर है - '+++' प्रिंट करें
'+++':
let arr = [1, 2, 3, 4, 5];
for (let elem of arr) {
if (elem == 3) {
console.log('+++');
}
}
लेकिन हमारा समाधान बहुत अच्छा नहीं है: क्योंकि यदि
सरणी में एक नहीं बल्कि 3 के कई मान
होंगे, तो '+++' कई बार
प्रिंट होगा। आइए अपनी सरणी को सही करें (दो
तत्व मान 3 के साथ बनाएं) और इसे सत्यापित करें:
let arr = [1, 2, 3, 4, 3, 5];
for (let elem of arr) {
if (elem == 3) {
console.log('+++'); // कई बार प्रिंट करेगा
}
}
समस्या को ठीक करते हैं: लूप को break की सहायता से
समाप्त करें, यदि तत्व पहले ही मिल गया है:
let arr = [1, 2, 3, 4, 3, 5];
for (let elem of arr) {
if (elem == 3) {
console.log('+++');
break; // लूप समाप्त करें
}
}
आइए अब ऐसा करने का प्रयास करें कि,
यदि सरणी में मान 3 वाला कोई तत्व
बिल्कुल नहीं है, तो '---' प्रिंट हो। एक आम
गलतफहमी होगी कि हमारे if में
else जोड़ दें - इस स्थिति में '---'
उन सभी तत्वों पर प्रिंट होगा, जो
3 नहीं हैं:
let arr = [1, 2, 3, 4, 5];
for (let elem of arr) {
if (elem == 3) {
console.log('+++'); // तत्व 3 पर प्रिंट करेगा
} else {
console.log('---'); // तत्व 1, 2, 4, 5 पर प्रिंट करेगा
}
}
इसलिए, else जोड़ने का विचार - एक खराब
विचार है, काम नहीं करता। इस प्रकार के कार्यों को हल करने के लिए
(ऐसे कार्य काफी अक्सर सामने आते हैं) तथाकथित फ्लैग का
उपयोग किया जाता है।
जैसा कि ऊपर उल्लेख किया गया है, फ्लैग - एक ऐसा
चर है, जो दो मान ले सकता है:
true या false।
इसलिए, आइए एक चर flag बनाएं
इस तरह के मान के साथ: यदि यह true के बराबर है,
तो सरणी में तत्व 3 है, और यदि
false है, तो ऐसा कोई तत्व नहीं है।
प्रारंभ में चर flag
को मान false पर सेट करें - यानी मान लें,
कि तत्व 3 सरणी में नहीं है:
let arr = [1, 2, 3, 4, 5];
let flag = false; // मान लें कि सरणी में तत्व 3 नहीं है
फिर हम एक लूप चलाएंगे, if के साथ, जैसा कि हमने पहले किया था।
यदि लूप पता चलता है कि सरणी में
तत्व 3 है - तो चर flag
को मान true पर सेट करें और लूप से
break के साथ बाहर निकलें:
let arr = [1, 2, 3, 4, 5];
let flag = false; // मान लें कि सरणी में तत्व 3 नहीं है
for (let elem of arr) {
if (elem == 3) {
flag = true; // तत्व है - चर flag को पुनः परिभाषित करें
break; // लूप से बाहर निकलें
}
}
इस सवाल का जवाब कि क्या सरणी में 3
है या नहीं, हम केवल लूप के बाद दे सकते हैं।
और यह जवाब हमारे पास पहले से ही है: लूप के बाद
चर flag false रह सकता है
या true पर अपना मान बदल सकता है,
यदि लूप ने सरणी में 3 का पता लगाया है:
let arr = [1, 2, 3, 4, 5];
let flag = false;
for (let elem of arr) {
if (elem == 3) {
flag = true;
break;
}
}
// यहाँ चर flag या तो true, या false के बराबर है
अब लूप के बाद, हम एक if बना सकते हैं, जो
चर flag को देखेगा और '+++' या '---'
स्क्रीन पर प्रिंट करेगा:
let arr = [1, 2, 3, 4, 5];
let flag = false;
for (let elem of arr) {
if (elem == 3) {
flag = true;
break;
}
}
if (flag === true) {
console.log('+++');
} else {
console.log('---');
}
एक सरणी दी गई है:
let arr = ['a', 'b', 'c', 'd', 'e'];
जाँचें कि क्या इस सरणी में तत्व
'c' है। यदि है - '+++' प्रिंट करें,
और यदि नहीं - '---' प्रिंट करें।
एक कोड लिखें जो यह जाँचेगा कि कोई संख्या अभाज्य है या नहीं। एक अभाज्य संख्या केवल एक से और स्वयं से विभाज्य होती है, और अन्य संख्याओं से विभाज्य नहीं होती।