Controleren van cijfers van een getal in JavaScript

Stel we hebben het volgende getal:

javascriptlet num = 12345;

Een poging om toegang te krijgen tot het eerste teken van het getal zal leiden tot onverwacht gedrag:

javascriptlet num = 12345;

if (num[0] == 1) {
  console.log('+++');
} else {
  console.log('---'); // dit wordt uitgevoerd
}

Zoals je al zou moeten weten, is het probleem dat je toegang kunt krijgen tot tekens van een string, maar niet tot cijfers van een getal:

javascriptlet num = 12345;
console.log(num[0]); // geeft undefined weer

Om het probleem op te lossen, converteren we ons getal naar een string:

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

if (str[0] == 1) {
  console.log('+++'); // dit wordt uitgevoerd
} else {
  console.log('---');
}

Het is niet nodig om een nieuwe variabele te introduceren, je kunt [0] direct toepassen op het resultaat van de functie String:

javascriptlet num = 12345;

if (String(num)[0] == 1) {
  console.log('juist'); // geeft 'juist' weer
} else {
  console.log('onjuist');
}

Stel dat we nu het eerste cijfer willen controleren of het gelijk is aan 1, of 2. Laten we de bijbehorende code schrijven:

javascriptlet num = 12345;

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

In dit geval blijkt de constructie String(num)[0] twee keer voor te komen. Dit is, ten eerste, lang, en ten tweede, niet optimaal, omdat we twee keer het getal naar een string converteren - de tweede keer is overbodig, en programma middelen worden hieraan verspild.

Laten we het probleem oplossen:

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

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

Gegeven een geheel getal. Schrijf een voorwaarde die controleert of het laatste cijfer van dit getal gelijk is aan nul.

Задание 2

Stel in variabele num is een getal opgeslagen. Bepaal of het getal even of oneven is. Het getal is even als het laatste teken gelijk is aan 0, 2, 4, 6 of 8, en oneven in andere gevallen.