1
resposta

duvidas em funções dentro de funções

pessoal, estou tentando fazer um código que confere a idade de uma pessoa e, se ela for maior do que a censura, deixa o usuário entrar. Então existe uma função que verifica a idade pela data de nascimento e depois é necessário criar outra função que irá comparar a idade calculada com a censura e deverá retornar true (se a idade for maior) ou false (caso a idade seja menor). segue o código:

function calcularIdadeB(dataDeNascimento) {
   if(!/^\d{2}\/\d{2}\/\d{4}$/.test(dataDeNascimento)) throw("Formato de data inválido");
   var [dia, mes, ano] = dataDeNascimento.split('/');
   var d = new Date();
   var anoAtual = d.getFullYear();
   var mesAtual = d.getMonth() + 1;
   var diaAtual = d.getDate();
   ano = +ano; mes = +mes; dia = +dia;
   var quantosAnos = anoAtual - ano;
   if (mesAtual < mes || mesAtual == mes && diaAtual < dia) {
       quantosAnos--;
   }
   return quantosAnos < 0 ? 0 : quantosAnos;
}

function deixaEntrar(dataDeNascimento, censura){
    return calcularIdadeB(dataDeNascimento) >= censura;
}

Este raciocínio esta certo?

1 resposta

Bom dia!

É sempre interessante você fazer essa separação.

Seu código de calcularIdade pode ser utilizado em outros pontos, o que importante.

Bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software