JavaScript-də ədədin rəqəmlərinin yoxlanılması

Tutaq ki, bizə bir ədəd verilib:

javascriptlet num = 12345;

Ədədin birinci simvoluna müraciət etməyə cəhd gözlənilməz davranışa səbəb olacaq:

javascriptlet num = 12345;

if (num[0] == 1) {
  console.log('+++');
} else {
  console.log('---'); // bu işləyəcək
}

Artıq bilməlisiniz ki, problem ondadır ki, sətirin simvollarına müraciət etmək olar, amma ədədin rəqəmlərinə müraciət etmək olmaz:

javascriptlet num = 12345;
console.log(num[0]); // undefined çap edəcək

Problemi həll etmək üçün ədədimizi sətirə çevirək:

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

if (str[0] == 1) {
  console.log('+++'); // bu işləyəcək
} else {
  console.log('---');
}

Mütləq yeni dəyişən təqdim etmək lazım deyil, [0] birbaşa String funksiyasının nəticəsinə tətbiq etmək olar:

javascriptlet num = 12345;

if (String(num)[0] == 1) {
  console.log('dogru'); // 'dogru' çap edəcək
} else {
  console.log('yanlis');
}

Tutaq ki, indi biz birinci rəqəmin 1-ə, ya da 2-ə bərabər olmasını yoxlamaq istəyirik. Uyğun kodu yazaq:

javascriptlet num = 12345;

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

Bu halda alınır ki, String(num)[0] konstruksiyası iki dəfə təkrar olunur. Bu, birincisi, uzundur, ikincisi isə, optimal deyil, çünki biz ədədi sətirə iki dəfə çeviririk - ikinci dəfə artıq olur, amma proqramın resursları bunun üçün sərf olunur.

Problemi düzəldək:

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

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

Tam ədəd verilib. Bu ədədin son rəqəminin sıfıra bərabər olmasını yoxlayan şərt yazın.

Задание 2

Tutaq ki, num dəyişənində ədəd saxlanılır. Ədədin cüt olub-olmadığını müəyyən edin. Ədəd son simvolu 0, 2, 4, 6 ya da 8-ə bərabər olduqda cüt olacaq, əks halda isə tək olacaq.