Antes de tudo, já quero dizer que esse Desafio foi 'trash'/muito hard. Tem muita coisa que foi mal explicada e difícil de aplicar nas respostas. Certas fórmulas e entendimentos tive que rever bastante o conteúdo das aulas anteriores ou então usar o ChatGPT.
Segue meu Projeto:
console.log();
console.log('1)');
const pessoa = {
nome: 'Corolhosa',
idade: 31,
estadoCivil: function(estado) {
if (estado === 'solteiro') {
return true;
} else {
return false;
}
},
hobbies: ['Caminhar', 'Pedalar', 'Viajar', 'Ir no Cinema', 'Estudar', 'Jogar', 'Maratonar Séries']
}
function mostrarInfoPessoa(pessoa) {
console.log("Dados da Pessoa:");
console.log("Nome:", pessoa.nome);
console.log("Idade:", pessoa.idade);
console.log("Estado Civil:", pessoa.estadoCivil('solteiro'));
console.log("Hobbies:", pessoa.hobbies);
console.log();
}
mostrarInfoPessoa(pessoa);
console.log();
console.log('2)');
pessoa.endereco = {
rua: "Rua Calabreso",
numero: "70421",
cidade: "Snake City",
estado: "Araucária",
}
mostrarInfoPessoa = function (pessoa) {
console.log("Dados da Pessoa:");
console.log("Nome:", pessoa.nome);
console.log("Idade:", pessoa.idade);
console.log("Estado Civil:", pessoa.estadoCivil('solteiro'));
console.log("Hobbies:", pessoa.hobbies);
console.log("Endereço:", pessoa.endereco);
console.log();
}
mostrarInfoPessoa(pessoa);
console.log();
console.log('3)');
// Construindo um Array com Objetos:
const listaDePessoas = [
{ nome: "Jocefina", idade: 30, cidade: "Orvalho" },
{ nome: "Querolyaine", idade: 20, cidade: "Salvador" },
{ nome: "Tiburça", idade: 24, cidade: "Erechim" }
];
function mostrarListaPessoas(pessoas) {
console.log("Lista de Pessoas:");
listaDePessoas.forEach(pessoa => {
console.log(`Nome: ${pessoa.nome}, Idade: ${pessoa.idade}, Cidade: ${pessoa.cidade}`)
});
console.log();
}
function filtrarPorCidade(pessoas, cidade) {
return pessoas.filter(pessoa => pessoa.cidade === cidade);
}
// Chamada da função mostrarListaPessoas:
mostrarListaPessoas(listaDePessoas);
// Adicionando uma nova pessoa à lista:
listaDePessoas.push({ nome: "Claudinéia", idade: 31, cidade: "Toledo" });
// Chamada da função mostrarListaPessoas após a adição:
mostrarListaPessoas(listaDePessoas);
// Chamada da função filtrarPorCidade:
const pessoasSalvador = filtrarPorCidade(listaDePessoas, "Salvador");
console.log("Pessoas em Salvador:");
console.log(pessoasSalvador);
console.log();
console.log('4)');
const calculadora = {
soma: function soma(valor1, valor2) {
return valor1 + valor2;
},
subtracao: function subtracao(valor1, valor2) {
return valor1 - valor2;
},
multiplicacao: function multiplicacao(valor1, valor2) {
return valor1 * valor2;
},
divisao: function divisao(valor1, valor2) {
if (valor2 !== 0) {
return valor1 / valor2;
} else {
return "Divisão por zero não é permitida.";
}
},
}
// Realizando Cálculos:
console.log("Soma: " + calculadora.soma(5, 4));
console.log("Subtração: " + calculadora.subtracao(5, 4));
console.log("Multiplicação: " + calculadora.multiplicacao(5, 4));
console.log("Divisão: " + calculadora.divisao(5, 4));
console.log("Divisão por Zero: " + calculadora.divisao(2, 0));
console.log();
calculadora.calcularMedia = function(array) {
let somaDosValores = array.reduce((acumulador, nota) => acumulador + nota, 0);
return somaDosValores / array.length;
};
// Realizando a Média:
const valores = [5, 5, 2];
console.log(`Qual é a média de ${valores}?`);
console.log(calculadora.calcularMedia(valores));
console.log();
console.log('5)');
const contaBancaria = {
titular: "Juninho Pernambucano",
saldo: 5000,
depositar: function(valor) {
this.saldo += valor;
console.log(); /// Q U E B R A - L I N H A ///
},
sacar: function(valor) {
if (valor <= this.saldo) {
this.saldo -= valor;
} else {
console.log("Saldo insuficiente para sacar.");
}
console.log(); /// Q U E B R A - L I N H A ///
},
};
const cliente = {
nome: "Ronaldinho Gaúcho",
conta: contaBancaria,
}
function mostrarSaldo(cliente) {
console.log(`Nome do Cliente: ${cliente.nome}`);
console.log(`Saldo da conta: ${cliente.conta.saldo}`);
}
mostrarSaldo(cliente);
// Depositar:
cliente.conta.depositar(500);
mostrarSaldo(cliente);
// Sacar:
cliente.conta.sacar(200);
mostrarSaldo(cliente);
console.log();