1
resposta

[Dúvida] segundo desafio de objetos

Olá amigos, conto com a ajuda de vocês para ver se esta certo esses exercícios

1 junto com a 2

const pessoa = {
  nome: 'Tiago',
  idade: 35,
  solteiro: true,
  hobbies: ['jogar video-game', 'tocar guitarra', 'basquete'],
}
pessoa.endereco = {
  rua: 'Rua Jucelino caiuva 298',
  cidade: 'Niterói',
  estado: 'Rio de Janeiro',
}
function mostrarInfoPessoa  (pessoa) {
  console.log('Informando todas as informações da pessoa');
  console.log(`Nome: ${pessoa.nome}.(Tipo: ${typeof pessoa.nome} )`);
  console.log(`Idade: ${pessoa.idade} anos (Tipo: ${typeof pessoa.idade})`);
  console.log(`Está solteiro: ${pessoa.solteiro} (Tipo: ${typeof pessoa.solteiro})`);
  console.log(`Hobbies: Ele gosta de ${pessoa.hobbies}. (Tipo: ${typeof pessoa.hobbies})`);
  console.log(`E o endereço é: ${pessoa.endereco.rua}, na cidade de ${pessoa.endereco.cidade} no estado do ${pessoa.endereco.estado} . (Tipo: ${typeof pessoa.endereco})`);
}

mostrarInfoPessoa(pessoa);

3

const pessoas = [
  {nome: 'Philipe', idade: 30, cidade: 'Santa Catarina'},
  {nome: 'Bruno', idade: 35, cidade: 'Rio de Janeiro'},
  {nome: 'Tiago', idade: 31, cidade: 'Rio de Janeiro'},
]
pessoas.push({nome: 'Ana', idade: 55, cidade: 'Barra da Tijuca'})

function mostrarListaPessoas (pessoas) {
  console.log('Mostrando as pessoas na lista.');
  console.log(pessoas[0]);
  console.log(pessoas[1]);
  console.log(pessoas[2]);
  console.log(pessoas[3]);
}

function filtrarPorCidade (pessoas, cidade) {
  return pessoas.filter (pessoas => pessoas.cidade === cidade);
}

mostrarListaPessoas(pessoas)

const pessoasRj = filtrarPorCidade (pessoas, 'Rio de Janeiro');
console.log('Pessoas no Rio de Janeiro');
console.log(pessoasRj);

4

// funcoesObjeto.js
const calculadora = {
  soma: function(a, b) {
      return a + b;
  },
  subtracao: function(a, b) {
      return a - b;
  },
  multiplicacao: function(a, b) {
      return a * b;
  },
  divisao: function(a, b) {
      if (b !== 0) {
          return a / b;
      } else {
          return "Divisão por zero não é permitida.";
      }
  },
  calcularMedia: function(numeros) {
      const soma = numeros.reduce((total, numero) => total + numero, 0);
      return soma / numeros.length;
  }
};
console.log("Soma: " + calculadora.soma(10, 13));
console.log("Subtração: " + calculadora.subtracao(9, 3));
console.log("Multiplicação: " + calculadora.multiplicacao(25, 2));
console.log("Divisão: " + calculadora.divisao(81, 9));
console.log("Divisão por zero: " + calculadora.divisao(20, 0));

const numerosParaMedia = [10, 13, 20, 32, 24];
console.log("Média: " + calculadora.calcularMedia(numerosParaMedia));

5

const contaBancaria = {
  titular: 'Tiago',
  saldo: 1350,
  depositar: function (dinheiro) {
    this.saldo += dinheiro
  },
  sacar: function (dinheiro) {
    if (this.dinheiro <= this.saldo) {
      this.saldo -= dinheiro;
    } else {
      console.log('Valor para saque insuficiente!');
    }
  }
};

const cliente = {
  nome: 'Marcela',
  conta: contaBancaria,
}

function mostrarSaldo (cliente) {
  console.log(`Nome do cliente: ${cliente.nome}`);
  console.log(`Saldo da conta: ${cliente.conta.saldo}`);
}

cliente.conta.depositar (1250);
cliente.conta.sacar (320);
1 resposta

Bom dia, Tiago! Tudo bem com você?

Meus parabéns pela finalização e resolução do desafio, vamos dar uma analisada nos seus exercícios. Vou comentar cada parte para te ajudar a verificar se está tudo certo.

Exercício 1 e 2

Você criou o objeto pessoa e a função mostrarInfoPessoa corretamente. Também adicionou a propriedade endereco e fez as modificações na função para incluir essas informações, está tudo certo aqui.

Exercício 3

Você criou a lista de pessoas e as funções mostrarListaPessoas e filtrarPorCidade corretamente. A função mostrarListaPessoas está imprimindo cada pessoa na lista, e a função filtrarPorCidade está filtrando as pessoas pela cidade.

Exercício 4

O objeto calculadora com os métodos soma, subtracao, multiplicacao, divisao e calcularMedia está correto. Você tratou a divisão por zero e implementou a função para calcular a média corretamente. Ótimo trabalho!

Exercício 5

Você criou o objeto contaBancaria e o objeto cliente corretamente. As funções depositar e sacar estão funcionando, mas há um pequeno erro na função sacar. Você está verificando this.dinheiro <= this.saldo, mas deveria ser dinheiro <= this.saldo. Além disso, você não chamou a função mostrarSaldo para exibir as informações atualizadas.

Deixo abaixo o código com a correção aplicada:

const contaBancaria = {
  titular: 'Tiago',
  saldo: 1350,
  depositar: function (dinheiro) {
    this.saldo += dinheiro;
  },
  sacar: function (dinheiro) {
    if (dinheiro <= this.saldo) {
      this.saldo -= dinheiro;
    } else {
      console.log('Valor para saque insuficiente!');
    }
  }
};

const cliente = {
  nome: 'Marcela',
  conta: contaBancaria,
};

function mostrarSaldo (cliente) {
  console.log(`Nome do cliente: ${cliente.nome}`);
  console.log(`Saldo da conta: ${cliente.conta.saldo}`);
}

cliente.conta.depositar(1250);
cliente.conta.sacar(320);
mostrarSaldo(cliente);

Resultado:

Nome do cliente: Marcela
Saldo da conta: 2280

Após realizar as mudanças no exercício 5, salve o arquivo e execute novamente o código.

Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado