1
resposta

[Dúvida] desafio 3 de objetos

Olá amigos e amigas, conto com a ajuda de vocês para me ajudar a verificar o exercício de objetos. Abraço a todos!

1

const pessoa = {
  nome: 'Marcela',
  notas: [7, 7.5, 10, 9],
  calcularMediaNotas: function () {
    const somaNotas = this.notas.reduce ((soma, notas) => soma + notas , 0)
    const media = somaNotas / this.notas.length;
    return media.toFixed(2); 
  },
  classificarDesempenho: function () {
    const media = this.calcularMediaNotas();
    if (media >= 9) {
      return 'Otimo desempenho';
    } else if (media >= 7 && media < 9) {
      return 'Você teve um bom desempenho';
    } else if (media >= 6 && media < 7) {
      return 'Você teve um desempenho regular';
    } else {
      return 'Desempenho insuficiente';
    }
  }
}

const mediaTotal = pessoa.calcularMediaNotas();
console.log(`${pessoa.nome} teve a media de ${mediaTotal}`);

const desempenho = pessoa.classificarDesempenho();
console.log(`${pessoa.nome} teve um ${desempenho}`);

2

const carro = {
  marca: 'Ford',
  modelo: 'Mustang GT',
  ano: 2020,
  cor: 'Preto',
}

for (propriedade in carro) {
  console.log(`${propriedade}: ${carro[propriedade]}`);
}

carro.estilo = 'Esportivo';
carro.cavalos = 650;
carro.kmRodados = 20000;

for (propriedade in carro) {
  console.log(`${propriedade}: ${carro[propriedade]}`);
}

3

const carro = {
  marca: 'Ford',
  modelo: 'Mustang GT',
  ano: 2020,
  cor: 'Preto',
  ligado: true,
  ligar: function () {
    if (this.ligado = true) {
      console.log('Este carro está ligado');
    } else {
      console.log('O carro está desligado');
  } 
  },
  desligar: function () {
    if (this.ligado = false) {
      console.log('O carro está desligado');
    } else {
      console.log('O carro ja está ligado');
    }
  },
  obterDetalhes: function () {
    const estado = this.ligado ? 'ligado' : 'desligado';
    return `Detalhes do carro:\nMarca: ${this.marca}\nModelo: ${this.modelo}\nAno: ${this.ano}\nCor: ${this.cor}\nEstado: ${estado}`;
  }
};

carro.ligar(true);
carro.desligar(true);
console.log(carro.obterDetalhes());

4

const carro = {
  marca: 'Ford',
  modelo: 'Mustang GT',
  ano: 2020,
  cor: 'Preto',
  placa: 'HTZ4598'
  ligado: true,
  ligar: function () {
    if (this.ligado = true) {
      console.log('Este carro está ligado');
    } else {
      console.log('O carro está desligado');
  } 
  },
  desligar: function () {
    if (this.ligado = false) {
      console.log('O carro está desligado');
    } else {
      console.log('O carro ja está ligado');
    }
  },
  obterDetalhes: function () {
    const estado = this.ligado ? 'ligado' : 'desligado';
    return `Detalhes do carro:\nMarca: ${this.marca}\nModelo: ${this.modelo}\nAno: ${this.ano}\nCor: ${this.cor}\nEstado: ${estado}`;
  }
};

Object.defineProperty (carro, 'placa', {enumerable: false})

for (propriedade in carro) {
  console.log(`${propriedade}: ${carro[propriedade]}`);
};

const chavesEnumeradas = Object.keys (carro);
console.log(chavesEnumeradas);

console.log(carro.placa);

5

const carro = {
  marca: 'Ford',
  modelo: 'Mustang GT',
  ano: 2020,
  cor: 'Preto',
}

const carroNovo = {
  marca: 'Wolkswagen',
  modelo: 'Golf GTI',
  ano: 2023,
  cor: 'Azul marinho'
};

const carroComNovosDetalhes = {...carro, ...carroNovo}

console.log(carroComNovosDetalhes);

carroComNovosDetalhes.ano = 2024;

console.log(carroComNovosDetalhes);
1 resposta

Olá, Tiago.

Como vai?

Muito obrigado por compartilhar os seus desafios aqui com a gente. Isso mostra que você está de fato praticando e evoluindo. 

Analisando o seu código parece estar correto e bem estruturado, tanto os objetos, quanto as funções. Parabéns :)

A única coisa que notei foi que na const carro do desafio 4, você esqueceu de colocar a vírgula depois da placa.

Se precisar de ajuda, manda aqui. Bons estudos!