1
resposta

[Projeto] Resolução

const calcularFrete = (distancia) => {

    if (distancia <= 5) {
        return 5;

    } if(distancia >= 5.1 && distancia <= 20) {
        return distancia * 0.50;

    } else {
        return 20;

    }
}
1 resposta

Olá, José, como vai?

Seu código atende perfeitamente ao que foi solicitado no exercício. A utilização da Arrow Function foi uma ótima escolha, pois torna a sintaxe mais moderna e limpa, sendo ideal para funções que executam cálculos diretos como este. A lógica das condicionais está correta e cobre todas as faixas de distância propostas no desafio.

Como uma sugestão de melhoria, você poderia utilizar o else if na segunda verificação em vez de iniciar um novo if. Isso garante que o programa pare de verificar as condições assim que encontrar a primeira verdadeira, o que é uma boa prática de desempenho. Além disso, quando o primeiro if verifica se o valor é menor ou igual a 5, o próximo bloco já entende implicitamente que o valor é maior que 5, então a verificação distancia >= 5.1 poderia ser simplificada.

Um exemplo dessa organização seria manter a estrutura de Arrow Function e apenas encadear as condições de forma mais fluida.

const calcularFrete = (distancia) => { 
    if (distancia <= 5) { 
        return 5; 
    } else if (distancia <= 20) { 
        return distancia * 0.50; 
    } else { 
        return 20; 
        } 
}

Parabéns por concluir o exercício e por compartilhar sua resolução com a comunidade. Continue praticando e postando seus avanços. O fórum continua à disposição para qualquer dúvida que surgir em sua jornada de aprendizado.

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