1
resposta

[Projeto] RESPOSTA


const regras = [
   {
     condicao: (idade) => idade >= 18,
     acao: (idade) =>
       `A idade de ${idade} pode andar de carro normalmente porque possui CNH`,
   },
   {
     condicao: (idade) => idade < 18,
     acao: (idade) =>
       `A idade de ${idade} não pode andar de carro porque não possui CNH`,
   },
 ];

 function verificaPermissao(idade) {
   const regrasDeIdade = regras.find((regras) => regras.condicao(idade));
   return regrasDeIdade ? regrasDeIdade.acao(idade) : "Idade inválida";
 }

// console.log(verificaPermissao(6));
  
  
``

nao realizei o exercicio porque achei ideal fazer algo que viesse relacionado a validacao de idade, e criei um programa que valida se a a pessoa tiver 18 anos ou mais ela pode dirigir e tirar sua cnh caso a idade seja menor que 18 ela não tem a idade para tirar CNH, esse padrao centraliza as regras e facilita expansao e manutencao e elimina o uso de if e else evitando aninhamento e segue boas praticas de programação
1 resposta

Oi, Eryck! Como vai?

Sua decisão de aplicar funções dentro de objetos para encapsular regras de negócio está bem estruturada. A abordagem que você usou com .find() torna o código limpo e escalável, evitando o uso de if/else aninhados. Isso mostra uma boa visão de organização e manutenção do código.

Uma dica interessante para o futuro é explorar o método filter() quando quiser aplicar mais de uma regra que possa se repetir. Veja este exemplo:


const numeros = [10, 15, 20, 25];
const maioresQue15 = numeros.filter((n) => n > 15);
console.log(maioresQue15);

Esse código filtra apenas os números maiores que 15 do array.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!