जावास्क्रिप्ट में संख्या के अंकों की जांच
मान लीजिए कि हमारे पास एक संख्या दी गई है:
javascriptlet num = 12345;
संख्या के पहले अक्षर को एक्सेस करने का प्रयास अनपेक्षित व्यवहार का कारण बनेगा:
javascriptlet num = 12345;
if (num[0] == 1) {
console.log('+++');
} else {
console.log('---'); // यह काम करेगा
}
जैसा कि आपको पहले से पता होना चाहिए, समस्या यह है कि आप स्ट्रिंग के अक्षरों को एक्सेस कर सकते हैं, लेकिन संख्या के अंकों को नहीं:
javascriptlet num = 12345;
console.log(num[0]); // undefined प्रिंट करेगा
समस्या को हल करने के लिए हम अपनी संख्या को स्ट्रिंग में बदलेंगे:
javascriptlet num = 12345;
let str = String(num);
if (str[0] == 1) {
console.log('+++'); // यह काम करेगा
} else {
console.log('---');
}
नया वेरिएबल पेश करना जरूरी नहीं है,
आप [0] को सीधे String फ़ंक्शन
के परिणाम पर लागू कर सकते हैं:
javascriptlet num = 12345;
if (String(num)[0] == 1) {
console.log('सही'); // 'सही' प्रिंट करेगा
} else {
console.log('गलत');
}
मान लीजिए अब हम यह जांचना चाहते हैं कि पहला अंक
1, या 2 के बराबर है या नहीं।
इसके लिए संबंधित कोड लिखें:
javascriptlet num = 12345;
if (String(num)[0] == 1 || String(num)[0] == 2) {
console.log('+++');
} else {
console.log('---');
}
इस मामले में, String(num)[0] कंस्ट्रक्शन
दो बार दोहराई जाती है।
यह, पहली बात, लंबा है, और दूसरी बात, इष्टतम नहीं है,
क्योंकि हम संख्या को स्ट्रिंग में दो बार बदल रहे हैं
- दूसरी बार यह फालतू हो जाता है, और प्रोग्राम के संसाधन
इस पर खर्च होते हैं।
समस्या को ठीक करें:
javascriptlet num = 12345;
let first = String(num)[0];
if (first == 1 || first == 2) {
console.log('+++');
} else {
console.log('---');
}
एक पूर्णांक दिया गया है। एक शर्त लिखें जो जांचती है कि इस संख्या का अंतिम अंक शून्य के बराबर है या नहीं।
मान लीजिए कि वेरिएबल num में एक संख्या स्टोर है।
निर्धारित करें कि संख्या सम है या नहीं। संख्या
सम होगी, यदि अंतिम अक्षर 0,
2, 4, 6 या 8 के बराबर हो,
और अन्यथा विषम होगी।