Memeriksa Digit Angka dalam JavaScript

Misalkan kita diberikan sebuah angka:

javascriptlet num = 12345;

Upaya untuk mengakses karakter pertama dari angka akan menyebabkan perilaku yang tidak terduga:

javascriptlet num = 12345;

if (num[0] == 1) {
  console.log('+++');
} else {
  console.log('---'); // ini yang akan dieksekusi
}

Seperti yang sudah Anda ketahui, masalahnya adalah kita dapat mengakses karakter string, tetapi tidak bisa - digit angka:

javascriptlet num = 12345;
console.log(num[0]); // akan menampilkan undefined

Untuk menyelesaikan masalah ini, mari ubah angka kita menjadi string:

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

if (str[0] == 1) {
  console.log('+++'); // ini yang akan dieksekusi
} else {
  console.log('---');
}

Tidak perlu membuat variabel baru, kita dapat menerapkan [0] secara langsung pada hasil fungsi String:

javascriptlet num = 12345;

if (String(num)[0] == 1) {
  console.log('benar'); // akan menampilkan 'benar'
} else {
  console.log('salah');
}

Sekarang misalkan kita ingin memeriksa apakah digit pertama sama dengan 1, atau 2. Tulis kode yang sesuai:

javascriptlet num = 12345;

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

Dalam kasus ini, konstruksi String(num)[0] diulang dua kali. Ini, pertama, panjang, dan kedua, tidak optimal, karena kita mengubah angka menjadi string dua kali - yang kedua kali menjadi berlebihan, dan sumber daya program terbuang untuk itu.

Mari perbaiki masalahnya:

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

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

Diberikan sebuah bilangan bulat. Tuliskan kondisi yang akan memeriksa apakah digit terakhir dari angka ini sama dengan nol.

Задание 2

Misalkan dalam variabel num disimpan sebuah angka. Tentukan, apakah angka tersebut genap atau tidak. Angka akan genap jika karakter terakhir sama dengan 0, 2, 4, 6 atau 8, dan ganjil jika sebaliknya.