Праверка лічбаў ліку ў 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
,
і няцотным у адваротным выпадку.