Проверка на цифрите на број во JavaScript

Нека имаме даден број:

javascriptlet num = 12345;

Обидот за пристапување до првиот симбол на бројот ќе доведе до неочекувано однесување:

javascriptlet num = 12345;

if (num[0] == 1) {
  console.log('+++');
} else {
  console.log('---'); // ќе се активира ова
}

Како што веќе треба да знаете, проблемот е во тоа што може да се пристапува до симболите на стрингот, но не може - до цифрите на бројот:

javascriptlet num = 12345;
console.log(num[0]); // ќе испечати undefined

За решавање на проблемот, да го трансформираме нашиот број во стринг:

javascriptlet num = 12345;
let str = String(num);

if (str[0] == 1) {
  console.log('+++'); // ќе се активира ова
} else {
  console.log('---');
}

Не е неопходно да се воведува нова променлива, може да се примени [0] директно на резултатот од функцијата String:

javascriptlet num = 12345;

if (String(num)[0] == 1) {
  console.log('точно'); // ќе испечати 'точно'
} else {
  console.log('неточно');
}

Нека сега сакаме да ја провериме првата цифра за тоа дали е еднаква на 1, или 2. Да го напишеме соодветниот код:

javascriptlet num = 12345;

if (String(num)[0] == 1 || String(num)[0] == 2) {
  console.log('+++');
} else {
  console.log('---');
}

Во овој случај, се добива дека конструкцијата String(num)[0] се повторува два пати. Ова е, прво, долго, а второ, не е оптимално, бидејќи два пати го трансформираме бројот во стринг - вториот пат е излишен, а ресурсите на програмата се трошат на ова.

Да го поправиме проблемот:

javascriptlet num = 12345;
let first = String(num)[0];

if (first == 1 || first == 2) {
  console.log('+++');
} else {
  console.log('---');
}
Задание 1

Даден е цел број. Напишете услов, кој ќе провери дали последната цифра од овој број е еднаква на нула.

Задание 2

Нека во променливата num се чува број. Определи дали бројот е парен или не. Бројот ќе биде парен, ако последниот симбол е еднаков на 0, 2, 4, 6 или 8, и непарен во спротивно.