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('---');
}
Жаңы өзгөрмө киргизүү зарыл эмес,
String функциясынын натыйжасына
[0] түз эле колдонсо болот:
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
сандарына барабар болсо жуп болот,
ал эми тескерисинче болсо жуп эмес болот.