JavaScript'te Sayının Rakamlarını Kontrol Etme

Diyelim ki bize bir sayı verildi:

javascriptlet num = 12345;

Sayının ilk karakterine erişmeye çalışmak beklenmedik bir davranışa yol açar:

javascriptlet num = 12345;

if (num[0] == 1) {
  console.log('+++');
} else {
  console.log('---'); // bu çalışır
}

Zaten bildiğiniz gibi, sorun şurada: bir dizenin karakterlerine erişebilirsiniz, ancak bir sayının rakamlarına erişemezsiniz:

javascriptlet num = 12345;
console.log(num[0]); // undefined yazdırır

Sorunu çözmek için sayımızı bir dizgeye dönüştürelim:

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

if (str[0] == 1) {
  console.log('+++'); // bu çalışır
} else {
  console.log('---');
}

Yeni bir değişken tanımlamak zorunda değilsiniz, [0] doğrudan String fonksiyonunun sonucuna uygulanabilir:

javascriptlet num = 12345;

if (String(num)[0] == 1) {
  console.log('doğru'); // 'doğru' yazdırır
} else {
  console.log('yanlış');
}

Diyelim ki şimdi ilk rakamın 1 veya 2'ye eşit olup olmadığını kontrol etmek istiyoruz. İlgili kodu yazalım:

javascriptlet num = 12345;

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

Bu durumda, String(num)[0] yapısının iki kez tekrarlanacağı anlamına gelir. Bu, birincisi, uzun ve ikincisi, optimal değil, çünkü sayıyı iki kez dizgeye dönüştürüyoruz - ikinci kez gereksiz oluyor ve program kaynakları bunun için harcanıyor.

Sorunu düzeltelim:

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

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

Bir tamsayı verildi. Bu sayının son rakamının sıfıra eşit olup olmadığını kontrol eden bir koşul yazın.

Задание 2

num değişkeninde bir sayı saklansın. Sayının çift mi yoksa tek mi olduğunu belirleyin. Son karakter 0, 2, 4, 6 veya 8'e eşitse sayı çift, aksi takdirde tek sayı olacaktır.