Acessando os dígitos de um número em JavaScript
Suponha que agora tenhamos armazenado em uma variável
um número sem aspas, apenas um número. Neste
caso, a tentativa de acessar seu caractere individual
retornará undefined, pois
esse tipo de acesso funciona apenas para strings:
let test = 12345;
alert(test[0]); // retornará undefined
Para resolver o problema, vamos converter nosso número em uma string:
let test = String(12345); // string
alert(test[0]); // exibirá '1' - tudo funciona
Agora, suponha que queiramos encontrar a soma dos dois primeiros dígitos:
let test = String(12345); // string
alert(test[0] + test[1]); // exibirá '12' - soma como strings
Vamos adicionar a função Number para que
os caracteres sejam somados como números:
let test = String(12345); // string
alert(Number(test[0]) + Number(test[1])); // exibirá 3
Lembro que esse tipo de problema surgirá apenas na soma. Na multiplicação, por exemplo, a conversão para números pode ser omitida:
let test = String(12345); // string
alert(test[1] * test[2]); // exibirá 6
Dado o número 12345. Encontre a soma dos dígitos
deste número.
Dado o número 12345. Encontre o produto
dos dígitos deste número.
Dado o número 12345. Reordene os dígitos
deste número na ordem inversa.