1
resposta

Código alternativo mais "completo"

Durante a aula fui me adiantando ao professor e fiz da forma abaixo, tentando considerar também a idade do acompanhante, que deve naturalmente ser maior de idade. Ficou muito confuso? Criei outra condicional... Alguém sugere uma forma mais simples, mais "limpa"?

console.log(`Trabalhando com Condicionais`);

const listaDeDestinos = new Array('Salvador', `São Paulo`, `Rio de Janeiro`);

const idadeComprador = 15;
const idadeAcompanhante = 17;
let estaAcompanhada = true;

console.log("Destinos possíveis:");
console.log(listaDeDestinos);

if (idadeAcompanhante >= 18) {
    estaAcompanhada = true;
} else {
    estaAcompanhada = false;
    console.log("Proibida a venda - acompanhante menor de idade");
}

if (idadeComprador >= 18) {
    console.log("Comprador maior de idade");
    listaDeDestinos.splice(1, 1); // removendo item
} else if (estaAcompanhada) {
    console.log("Comprador está acompanhado de maior de idade");
    listaDeDestinos.splice(1, 1);
} else {
    console.log("Menor de idade - venda proibida");
} 


console.log(listaDeDestinos);
1 resposta

Eu provavelmente faria assim:

console.log(`Trabalhando com Condicionais`);

function verificarPessoas(idadeComprador, idadeAcompanhante, listaDestinos) {
  console.log("Destinos possíveis:")
  console.log(listaDestinos)

  // pelo oq eu entendih, se for maior de idade não precisa de um acompanhante.
  if (idadeComprador >= 18) {
    console.log("Comprador maior de idade")
    listaDestinos.splice(1, 1)
  } else if (idadeAcompanhante >= 18) {
      console.log("Comprador está acompanhado de maior de idade")
      listaDestinos.splice(1, 1)
  } else {
    console.log("Proibida a venda - acompanhante e comprador menor de idade")
    return
  }
  console.log(listaDestinos)
}


// TESTES: 

// Comprador maior de idade
verificarPessoas(19, 17, ['Salvador', `São Paulo`, `Rio de Janeiro`])

// Acompanhante maior de idade
verificarPessoas(17, 18, ['São Paulo', `Salvador`, `Rio de Janeiro`]) 

// Ambos menores de idade
verificarPessoas(16, 17, ['Rio de Janeiro', `São Paulo`, `Salvador`]) 

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