जावास्क्रिप्ट में संख्या के अंकों की जांच

मान लीजिए कि हमारे पास एक संख्या दी गई है:

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('---');
}
Задание 1

एक पूर्णांक दिया गया है। एक शर्त लिखें जो जांचती है कि इस संख्या का अंतिम अंक शून्य के बराबर है या नहीं।

Задание 2

मान लीजिए कि वेरिएबल num में एक संख्या स्टोर है। निर्धारित करें कि संख्या सम है या नहीं। संख्या सम होगी, यदि अंतिम अक्षर 0, 2, 4, 6 या 8 के बराबर हो, और अन्यथा विषम होगी।