function exibirLinhas() {
console.log('=-='.repeat(20));
};
// exercício 1
const pessoa = {
nome: 'Maxine',
idade: 22,
solteiro: true,
hobbies: ['Cantar', 'Jogar videogames', 'Viajar', 'Escrever']
};
// exercício 1 - parte 2
function mostrarInfoPessoa(objeto) {
return `Nome: ${objeto.nome}
Idade: ${objeto.idade}
Solteiro: ${objeto.solteiro ? 'Positivo.' : 'Negativo.'}
Hobbies: ${objeto.hobbies.join(', ')}
----------------------------------------
TIPOS DE DADOS
----------------------------------------
${typeof objeto.nome}
${typeof objeto.idade}
${typeof objeto.solteiro}
${typeof objeto.hobbies}`;
};
console.log(mostrarInfoPessoa(pessoa));
exibirLinhas();
// exercício 2
function adicionarPropriedade(objeto, propriedade, valor) {
if (!objeto[propriedade]) {
objeto[propriedade] = [];
};
// Se for array, empurra o valor
if (Array.isArray(objeto[propriedade])) {
objeto[propriedade].push(valor);
} else {
objeto[propriedade] = valor;
};
return objeto;
};
adicionarPropriedade(pessoa, 'endereco', {
rua: 'Rua Marielle Franco',
numero: 12,
cep: '55900-000',
cidade: 'Goiana',
estado: 'PE',
complemento: ''
});
console.log(pessoa);
exibirLinhas();
adicionarPropriedade(pessoa, 'endereco', {
rua: 'Rua Santa Emília',
numero: 34,
cep: '55900-000',
cidade: 'Goiana',
estado: 'PE',
complemento: ''
});
console.log(pessoa);
exibirLinhas();
// exercício 3
const pessoas = [
{nome: 'Jussara', idade: 21, cidade: 'Rio de Janeiro'},
{nome: 'Maxine', idade: 22, cidade: 'Goiana'},
{nome: 'Troye', idade: 32, cidade: 'Feira de Santana'}
];
// a)
function mostrarListaPessoas(pessoas) {
return pessoas.forEach(element => {
console.log(`Nome: ${element.nome}
Idade: ${element.idade}
Cidade: ${element.cidade}
--------------------------------------------------------`);
});
};
mostrarListaPessoas(pessoas);
// b)
function adicionarNovaPessoa(array, objeto) {
return array.push(objeto);
};
adicionarNovaPessoa(pessoas, {nome: 'Júlia', idade: 19, cidade: 'João Pessoa'});
// c)
console.log('');
console.log('---------------------');
console.log('Separando informações');
console.log('---------------------');
console.log('');
mostrarListaPessoas(pessoas);
// d)
function filtrarPorCidade(listas, cidade) {
let result = listas.filter((lista) => lista.cidade === cidade);
return result.length === 0 ? 'Não existe.' : result;
};
console.log(filtrarPorCidade(pessoas, 'Goiana'));
console.log('--------------------------------------------------------');
console.log(filtrarPorCidade(pessoas,'Recife'));
console.log('--------------------------------------------------------');
// exercício 4
const calculadora = {
soma: function(x, y) {
return x + y;
},
subtracao: function(x, y) {
return x - y;
},
multiplicacao: function(x, y) {
return x * y;
},
divisao: function(x, y) {
return x / y;
}
};
// a)
console.log(calculadora.soma(2, 4));
console.log(calculadora.subtracao(6, 3));
console.log(calculadora.multiplicacao(4, 4));
console.log(calculadora.divisao(2, 1));
console.log('--------------------------------------------------------');
// b)
calculadora.calcularMedia = function(array) {
let valorInicial = 0;
return array.reduce((acumulador, valorAtual) => acumulador + valorAtual, valorInicial);
};
const arrayParaExemploSoma = [2, 4, 5, 6];
// c)
console.log(calculadora.calcularMedia(arrayParaExemploSoma));
console.log('--------------------------------------------------------');
// exercício 5
const contaBancaria = {
titular: 'Maxine Athos',
saldo: 2340,
depositar: function(valor) {
if (valor > 0) {
this.saldo += valor;
return this.saldo;
} else {
return 'Insira um valor válido.';
}
},
sacar: function(valor) {
if (valor <= this.saldo) {
this.saldo -= valor;
return this.saldo;
} else {
return 'Não é possível realizar um saque com este valor, pois seu saldo é insuficiente.';
}
}
};
const cliente = {
nome: 'Jéssica',
conta: contaBancaria,
mostrarSaldo: function() {
return `Nome: ${this.nome}
Saldo: ${this.conta.saldo}`;
}
};
console.log(cliente.mostrarSaldo());
console.log('--------------------------------------------------------');
contaBancaria.depositar(2345);
console.log(cliente.mostrarSaldo());
console.log('--------------------------------------------------------');
contaBancaria.sacar(1000);
console.log(cliente.mostrarSaldo());