Exercício 01 e 02:
const pessoa = {
nome: 'João',
idade: 27,
solteiro: false,
hobbies: ['tocar violão', 'jogar futebol', 'jogar vídeogame', 'observar as estrelas'],
endereco: {
rua: 'Rua Qualquer',
cidade: 'Salvador',
estado: 'Bahia'
}
};
function mostrarInfoPessoa(obj) {
return console.log(`
Informações:
Nome: ${obj.nome} (tipo: ${typeof obj.nome})
Idade: ${obj.idade} (tipo: ${typeof obj.idade})
Solteiro: ${obj.solteiro} (tipo: ${typeof obj.solteiro})
Hobbies: ${obj.hobbies.join(", ")} (tipo: ${Object.prototype.toString.call(obj.hobbies)})
Endereço:
rua: ${obj.endereco.rua}
cidade: ${obj.endereco.cidade}
estado: ${obj.endereco.estado}
`);
}
mostrarInfoPessoa(pessoa);
Exercício 03:
const listaPessoas = [
{nome: 'Ana', idade: 30, cidade: 'São Paulo'},
{nome: 'Pedro', idade: 25, cidade: 'Rio de Janeiro'},
{nome: 'Mateus', idade: 19, cidade: 'Salvador'}
];
function mostrarListaPessoas(pessoas) {
console.log('Lista de pessoas:');
pessoas.forEach((pessoa) => {
console.log(`Nome: ${pessoa.nome}, idade: ${pessoa.idade}, cidade: ${pessoa.cidade}`);
});
};
function filtrarPorCidade(pessoas, cidade) {
return pessoas.filter((pessoa) => pessoa.cidade === cidade);
};
listaPessoas.push({nome: 'Helena', idade: 35, cidade: 'Manaus'})
mostrarListaPessoas(listaPessoas);
const pessoasNaCidade = filtrarPorCidade(listaPessoas, 'Salvador');
console.log('Pessoas em Salvador:')
console.log(pessoasNaCidade);
Exercício 04:
const calculadora = {
soma: function(valor1, valor2) {
return valor1 + valor2;
},
subtacao: function(valor1, valor2) {
return valor1 > valor2 ? valor1 - valor2 : valor2 - valor1;
},
multiplicacao: function(valor1, valor2) {
return valor1 * valor2;
},
divisao: function(valor1, valor2) {
//Com operador ternário fica resumido(clean code), mas não tão fica claro.
// return valor1 !== 0 && valor2 !== 0 ? (valor1 > valor2 ? valor1 / valor2 : valor2 / valor1) : ('Divisão por zero não é permitida.')
//Com o if, o código fica mais legível.
if(valor1 !== 0 && valor2 !== 0) {
return valor1 > valor2 ? valor1 / valor2 : valor2 / valor1;
} else {
return 'Divisão por zero não é permitida.';
}
},
calcularMedia: function(arr) {
const mediaPessoa = arr.reduce((acumulador, nota) => acumulador + nota, 0);
return mediaPessoa / arr.length;
}
};
console.log(`soma: ${calculadora.soma(5, 10)}`);
console.log(`subtração: ${calculadora.subtacao(5, 10)}`);
console.log(`multiplicação: ${calculadora.multiplicacao(5, 10)}`);
console.log(`divisão: ${calculadora.divisao(5, 10)}`);
console.log(`media: ${calculadora.calcularMedia([7, 8, 9, 10])}`);
Exercício 05:
const contaBancaria = {
titular: 'João',
saldo: 100,
depositar: function(valor) {
this.saldo += valor;
},
sacar: function(valor) {
this.saldo >= valor ? this.saldo -= valor : 'Saldo infuficiemte';
}
};
function mostrarSaldo(obj) {
console.log(`
Cliente: ${obj.nome}
Saldo: ${obj.conta.saldo}
`)
};
const cliente = {
nome: 'João',
conta: contaBancaria
};
contaBancaria.depositar(200);
contaBancaria.sacar(50);
mostrarSaldo(cliente);