Έλεγχος ψηφίων αριθμού σε 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, και μονός διαφορετικά.