Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

Resolução de Atividades 07 - Faça como eu fiz na aula

O meu exercício ficou assim!

console.log("Opções de viajens disponiveis.");

const listas = new Array(`São paulo`,
    `Salvador`,
    `Rio de janeiro`
);

listas.push(`Bahia`, `Mato grosso`, `Curitiba`);

console.log(listas);

const idadeComprador = 18;
const compradorAcompanhado = true;
const temPassagem = true;

// if(idadeComprador >= 18){
//     console.log(`Comprador maior de 18 anos`);
//     listas.splice(2,1);
//     console.log(listas);
// } else if(compradorAcompanhado){
//     console.log(`Comprador está acompanhado`);
//     listas.splice(2,1);
//     console.log(listas);    
// } else{
//     console.log(`Comprador menor de idade`);
//     console.log(`Impossivel completar a compra`);
//     console.log(listas);
// };

if(idadeComprador >= 18 || compradorAcompanhado == true){
    console.log(`Comprador é maior de idade ou está acompanhado, compra realizada!`);
    listas.splice(2,1);
    console.log(listas);
} else{
    console.log(`Comprador menor de idade e não está acompanhado, compra negada!`);
};

console.log(`Embarque: \n\n`);

if(temPassagem == true && idadeComprador >= 18){
    console.log(`Boa viajem!`);
} else {
    console.log(`Não pode embarcar!!!`);
}
1 resposta

Oi, João. Tudo bem?

Seu exercício ficou bem interessante, principalmente porque você foi além da implementação mais básica e trabalhou com diferentes condições usando || e &&. A lógica também está funcionando de acordo com os valores definidos nas variáveis. Por exemplo, na condição idadeComprador >= 18 || compradorAcompanhado == true, a compra será permitida quando pelo menos uma das condições for verdadeira.

Um detalhe que vale observar é que, em JavaScript, quando você já possui uma variável booleana como compradorAcompanhado ou temPassagem, não é necessário comparar com true. Você pode escrever diretamente if (idadeComprador >= 18 || compradorAcompanhado). O mesmo vale para temPassagem. Não é um erro no seu código, apenas uma forma mais simples e comum de trabalhar com valores booleanos.

Também foi legal você testar a remoção do destino com splice(2, 1), pois isso mostra que você está explorando o comportamento do array além do básico . Continue compartilhando suas soluções, porque comparar diferentes formas de resolver o mesmo problema também faz parte do aprendizado.

Como você alteraria essa lógica caso uma pessoa menor de idade pudesse comprar a passagem somente quando estivesse acompanhada?

Parabéns pelo exercício, João. Continue praticando e compartilhando suas implementações. O fórum está à disposição para ajudar nas próximas atividades.

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