Kontrol af cifre i tal i JavaScript

Lad os sige at vi har følgende tal:

javascriptlet num = 12345;

Et forsøg på at tilgå det første tegn i tallet vil føre til uventet adfærd:

javascriptlet num = 12345;

if (num[0] == 1) {
  console.log('+++');
} else {
  console.log('---'); // dette vil udløses
}

Som du allerede burde vide, er problemet at man kan tilgå tegn i en streng, men ikke - cifre i et tal:

javascriptlet num = 12345;
console.log(num[0]); // vil udskrive undefined

For at løse problemet konverterer vi vores tal til en streng:

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

if (str[0] == 1) {
  console.log('+++'); // dette vil udløses
} else {
  console.log('---');
}

Det er ikke nødvendigt at introducere en ny variabel, man kan anvende [0] direkte på resultatet af funktionen String:

javascriptlet num = 12345;

if (String(num)[0] == 1) {
  console.log('korrekt'); // vil udskrive 'korrekt'
} else {
  console.log('forkert');
}

Lad os nu sige at vi vil kontrollere om det første ciffer er lig med 1, eller 2. Lad os skrive den tilsvarende kode:

javascriptlet num = 12345;

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

I dette tilfælde sker det, at konstruktionen String(num)[0] gentages to gange. Dette er for det første langt, og for det andet ikke optimalt, da vi konverterer tallet til en streng to gange - anden gang er unødvendig, og programmets ressourcer bliver brugt på dette.

Lad os rette problemet:

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

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

Givet et heltal. Skriv en betingelse, som kontrollerer om det sidste ciffer i dette tal er lig med nul.

Задание 2

Lad variablen num indeholde et tal. Bestem om tallet er lige eller ulige. Tallet vil være lige, hvis det sidste tegn er lig med 0, 2, 4, 6 eller 8, og ulige i modsat fald.