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