Сандардың сандарын JavaScript-те тексеру
Бізде мына сан берілсін:
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-ге тең болса,
ал кері жағдайда тақ болады.