Запіс на курсы па HTML, CSS, JavaScript, PHP, Python, фрэймворкам і CMS,
а таксама: дапамога ў пошуку працы і заказаў, стажыроўка на рэальных праектах→
⊗jsPmCdExND 139 of 505 menu

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

byenru