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