const calcularFrete = (distancia) => {
if (distancia <= 5) {
return 5;
} if(distancia >= 5.1 && distancia <= 20) {
return distancia * 0.50;
} else {
return 20;
}
}
const calcularFrete = (distancia) => {
if (distancia <= 5) {
return 5;
} if(distancia >= 5.1 && distancia <= 20) {
return distancia * 0.50;
} else {
return 20;
}
}
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.