Ракамҳои ададро дар 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 ҷуфт хоҳад буд,
ва дар акси ҳол тоқ хоҳад буд.