Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Meu programa com Prompt mas dúvida sobre Replace

<meta chartset="UTF-8">

<script>
    function jump() {
        showText ("<br>");
    }

    function showText (text) {
        document.write (text);
        jump();
    }

    function calculaImc (peso, altura) {
        var imc = (peso / (altura*altura)).toFixed(1);
        return imc
    }

    var nameImc = prompt ("Olá! Qual o seu nome?");
    var pesoImc = prompt ("Informe o seu peso aqui").replace(',', '.');
    var alturaImc = prompt ("Agora informe a sua altura:").replace(',', '.');

    var valorImc = calculaImc (pesoImc, alturaImc);

    showText (`
        <h1> Resultado do seu IMC (Índice de Massa Corporal).</h1>
        Olá novamente, ${nameImc}! Então vamos lá. <hr>
        <big>Peso:<strong> ${pesoImc}</strong> / Altura:<strong> ${alturaImc}</strong> <hr>
         O valor do seu IMC  é <strong> ${valorImc}</strong></big>.
    `)
</script>

Li alguns tópicos sobre a tag replace mas não entendi muito bem como ela funciona na lógica, mas entendi para o que serve :)

Obrigada!

2 respostas
solução!

Olá Gabriela, dá uma olhadinha nessa postagem. Acredito que ela te ajude.

Bons estudos!

Basicamente ela substitui o que está no primeiro parâmetro, pelo que está no segundo parâmetro.

Ex:

valor = 1,2
valor = valor.replace(/,/g, '.')

//valor será 1.2

A variável valor recebe 1 vírgula 2.

A variável valor recebe ela mesma (que até o momento é 1,2) mas com a função replace aplicada.

A função replace está sendo aplicada na variável valor com 2 parâmetros.

O primeiro parâmetro é um regex dizendo o que buscar (para depois substituir) na variável valor.

No caso a expressão regular (regex) /,/g (o g sendo "global match") vai buscar por todas as vírgulas na variável valor.

E o segundo parâmetro é o valor pelo qual será substituído o que a busca do primeiro parâmetro encontrar, nesse caso será o ponto.

Não é obrigatório usar expressões regulares (são complicadas mas muito poderosas!) nesse caso resolvi começar com uma simples para ir aprendendo como funcionam!

Recapitulando:

replace é uma função que recebe 2 parâmetros, cada parâmetro em uma função é separado por vírgula (e espaço, pra ficar bonitinho), o primeiro é o que você quer substituir, e o segundo é o que ficará no lugar do que o primeiro parâmetro encontrar.

Espero ter ajudado, também estou iniciando!