Essa aqui e uma solução, tentando ao máximo usar apenas o que você aprendeu no curso de lógica. Lembre-se que o curso é de lógica, não é para aprender a fundo a linguagem JavaScript. Contudo, tive que usar alguns recursos da linguagem JavaScript para resolver o problema.
Isso pode ser resolvido de outras formas, mas dependerá de um conhecimento mais profundo da linguagem JavaScript:
var numero = "12345.10"; // 12.543,10
// extrai a parte inteira
// numero.indexOf encontra a posição onde o ponto aparece
// numero.substring extrai de 0 até a posição que ponto aparece, mas sem incluir a posição do ponto
var inteiro = numero.substring(0, numero.indexOf("."));
// extrai a parte decimal
var decimal = numero.substring(numero.indexOf(".")+1);
// agora, vamos varrer do final para o início e contar de 3 em três e colocar um ponto
// Como estamos varrendo da direita para esquerda, o resultado será um número invertido, por exemplo 543.21
var inteiroInvertido = ""
// para ajudar a contar de 3 em 3
var contador = 1;
for(var i = inteiro.length -1; i >=0 ; i--) {
// Podemos pegar cada letra da string como se fosse um array!
inteiroInvertido = inteiroInvertido + inteiro[i];
// é para colocar ponto
if(contador == 3) {
inteiroInvertido = inteiroInvertido + ".";
contador = 1;
} else {
contador++;
}
}
// agora, precisa reverter o número inteiro
alert(inteiroInvertido);
var inteiroFinal = "";
for(var i = inteiroInvertido.length -1; i >=0 ; i--) {
inteiroFinal = inteiroFinal + inteiroInvertido[i];
}
alert("Número convertido: " + inteiroFinal + ',' +
decimal);