ජාවාස්ක්රිප්ට් හි සංඛ්යාවක ඉලක්කම් පරීක්ෂා කිරීම
අපට අංකයක් ලබා දී ඇතැයි සිතමු:
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,
ට සමාන වන විට වන අතර, එසේ නොමැති නම්
එය ඔත්තේ සංඛ්යාවක් වේ.