Acceso a los dígitos de un número en JavaScript
Supongamos que ahora tenemos almacenado en una variable
no un número entre comillas, sino simplemente un número. En este
caso, intentar acceder a su carácter individual
devolverá undefined, ya que
dicho acceso solo funciona para cadenas:
let test = 12345;
alert(test[0]); // devolverá undefined
Para solucionar el problema, convertimos nuestro número a cadena:
let test = String(12345); // cadena
alert(test[0]); // mostrará '1' - todo funciona
Supongamos que ahora queremos encontrar la suma de los primeros dos dígitos:
let test = String(12345); // cadena
alert(test[0] + test[1]); // mostrará '12' - suma como cadenas
Añadamos la función Number para que
los caracteres se sumen como números:
let test = String(12345); // cadena
alert(Number(test[0]) + Number(test[1])); // mostrará 3
Recuerdo que este tipo de problema surgirá solo al sumar. En la multiplicación, por ejemplo, la conversión a números se puede omitir:
let test = String(12345); // cadena
alert(test[1] * test[2]); // mostrará 6
Dado el número 12345. Encuentra la suma de los dígitos
de este número.
Dado el número 12345. Encuentra el producto
de los dígitos de este número.
Dado el número 12345. Reorganiza los dígitos
de este número en orden inverso.