Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Desafio: lista de exercícios

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);
1 resposta
solução!

Olá, João! Tudo bem?

Analisando seus códigos, posso dizer que você fez um excelente trabalho. Todos os códigos estão corretos e seguem as instruções do desafio.

Então, continue com o bom trabalho e não hesite em pedir ajuda sempre que precisar.

Bons estudos!