Numeron numeroiden käyttö JavaScriptissä
Oletetaan, että muuttujassa tallennetaan nyt
ei numero lainausmerkeissä, vaan pelkkä numero. Tässä
tapauksessa yritys viitata sen yksittäiseen
merkkiin palauttaa undefined, koska
tälläinen viittaus toimii vain merkkijonoille:
let test = 12345;
alert(test[0]); // palauttaa undefined
Ongelman ratkaisemiseksi muunnetaan numeromme merkkijonoksi:
let test = String(12345); // merkkijono
alert(test[0]); // tulostaa '1' - kaikki toimii
Oletetaan, että haluamme nyt löytää kahden ensimmäisen numeron summan:
let test = String(12345); // merkkijono
alert(test[0] + test[1]); // tulostaa '12' - laskee yhteen merkkijonoina
Lisätään funktio Number, jotta
merkit lasketaan yhteen numeroina:
let test = String(12345); // merkkijono
alert(Number(test[0]) + Number(test[1])); // tulostaa 3
Muistutan, että tällainen ongelma syntyy vain yhteenlaskussa. Kertolaskussa esimerkiksi muunnosta numeroiksi ei tarvitse suorittaa:
let test = String(12345); // merkkijono
alert(test[1] * test[2]); // tulostaa 6
Annettu numero 12345. Etsi tämän numeron
numeroiden summa.
Annettu numero 12345. Etsi numeron
numeroiden tulo.
Annettu numero 12345. Järjestä numerot
päinvastaiseen järjestykseen.