ජාවාස්ක්‍රිප්ට් හි සංඛ්‍යාවක ඉලක්කම් පරීක්ෂා කිරීම

අපට අංකයක් ලබා දී ඇතැයි සිතමු:

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, ට සමාන වන විට වන අතර, එසේ නොමැති නම් එය ඔත්තේ සංඛ්‍යාවක් වේ.