Numeron numeroiden tarkistus JavaScriptissä

Oletetaan, että meillä on numero:

javascriptlet num = 12345;

Yritys viitata numeron ensimmäiseen merkkiin johtaa odottamattomaan käyttäytymiseen:

javascriptlet num = 12345;

if (num[0] == 1) {
  console.log('+++');
} else {
  console.log('---'); // tämä toimii
}

Kuten jo tiedät, ongelma on siinä, että merkkijonon merkkeihin voi viitata, mutta numeroihin ei:

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

Ongelman ratkaisemiseksi muunnetaan numeromme merkkijonoksi:

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

if (str[0] == 1) {
  console.log('+++'); // tämä toimii
} else {
  console.log('---');
}

Ei ole tarpeen ottaa käyttöön uutta muuttujaa, voit soveltaa [0] suoraan String-funktion tulokseen:

javascriptlet num = 12345;

if (String(num)[0] == 1) {
  console.log('oikein'); // tulostaa 'oikein'
} else {
  console.log('väärin');
}

Oletetaan nyt, että haluamme tarkistaa, onko ensimmäinen numero yhtä suuri kuin 1 tai 2. Kirjoitetaan vastaava koodi:

javascriptlet num = 12345;

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

Tässä tapauksessa käy niin, että rakenne String(num)[0] toistuu kahdesti. Tämä on ensinnäkin pitkää, ja toiseksi, ei optimaalista, koska muunnamme numeron merkkijonoksi kahdesti - toinen kerta on tarpeeton, ja ohjelman resurssit kuluvat siihen.

Korjataan ongelma:

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

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

Annettu kokonaisluku. Kirjoita ehto, joka tarkistaa, onko tämän numeron viimeinen numero nolla.

Задание 2

Oletetaan, että muuttuja num sisältää numeron. Määritä, onko numero parillinen vai ei. Numero on parillinen, jos viimeinen merkki on 0, 2, 4, 6 tai 8, ja pariton muussa tapauksessa.