Solucionado (ver solução)
Solucionado
(ver solução)
13
respostas

erro, ajuda por favor,ainda não deu certo ( for inn)

const cliente = {
    nome: "André",
    idade: 36,
    cpf:'129299448848475',
    email:'123@gmail.com',
    fones: ['0000000000000','1111111111111'],
    dependentes: [
        {
            nome:"Sara",
            parentesco: "filha",
         dataNasc: "20/03/2021"},
         {nome: "samia maria",
            parentesco: "filha",
            dataNasc:"04/01/2014"
        }
    ],

 saldo:100,

 depositar:function(valor)
 {
    this.saldo += valor
 }
}

 let relatorio= " ";
 for ( let info in cliente){
 if(typeof cliente[info]=== "Object" ||  typeof cliente[info]===   "function") {
    continue
 }else{
    relatorio += ` 
      ${cliente[info]}
     `
 } 


}

console;log (typeof cliente.depositar)
console.log (relatorio)
13 respostas
solução!

Oi, Kelvin, tudo bem?

O código não está sendo executado por conta de um ponto e vírgula na penúltima linha do seu código. Perceba que ali você trocou sem querer o ponto do console.log por um ponto e vírgula.

Espero ter ajudado.

Qualquer dúvida pode contar com a gente aqui no fórum.

Abraços e bons estudos!

Ok, fiz a correção no ponto e vírgula, mas mesmo assim não aparece o resultado esperado. no terminal aparece uma sequência de números 0 100 1 200 2 300 3 400 4 500 5 600

Murillo Godoi Pedroso pode verificar essa situação comigo novamente.

Oi, Kelvin, tudo bem?

Entendi, tem dois problemas. O primeiro é que nessa linha if(typeof cliente[info]=== "Object" || typeof cliente[info]=== "function") { continue } o correto seria object, com o minúsculo.

O segundo é que os números estão sendo mostrados soltos no terminal porque faltou inserir no relatório a chave de cada valor mostrado. No else do relatório o correto seria:

 else{
        relatorio += `
        ${info} ==> ${cliente[info]}
        `
        }  

Espero ter ajudado.

Abraços e bons estudos!

Corrigi o object, Coloquei o else da forma com que vc monstrou e mesmo assim não foi

const cliente = {
    nome: "André",
    idade: "36",
    cpf:"129299448848475",
    email:"123@gmail.com",
    fones: ["0000000000000","1111111111111"],
    dependentes: [
        {
            nome:"Sara",
            parentesco: "filha",
         dataNasc: "20/03/2021"},
         {nome: "samia maria",
            parentesco: "filha",
            dataNasc:"04/01/2014"
        }
    ],
saldo:100,

 depositar:function(valor)
 {
    this.saldo += valor
 }
}

 let relatorio= " ";
 for ( let info in cliente){
 if(typeof cliente[info]=== "object" ||  typeof cliente[info]===   "function") {
    continue
 }
  else{
   relatorio += `
   ${info} ==> ${cliente[info]}
   `
    }  


}

console.log (typeof cliente.depositar)
console.log (relatorio)

Oi, Kelvin,

Executei seu código e obtive o resultado esperado:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

O resultado que você espera não é esse?

Para min continua aparecendo uma sequência de números

Entendi, tenta criar um novo arquivo JavaScript e joga nele esse último código arrumado. Pode ser algum problema relacionado a cache ou com o salvamento do arquivo, pois o código está funcionando corretamente.

Criei um novo arquivo e deu certo obrigado

Que bom! Qualquer dúvida pode contar com a gente aqui no fórum.

Abraços e bons estudos!

você pode me ajudar nesse outro código ?

const cliente = {
    nome: "André",
    idade: "36",
    cpf:"129299448848475",
    email:"123@gmail.com",
    fones: ["0000000000000","1111111111111"],
    dependentes: [
        {
            nome:"Sara",
            parentesco: "filha",
         dataNasc: "20/03/2021"},
         {nome: "samia maria",
            parentesco: "filha",
            dataNasc:"04/01/2014"
        }
    ],

 saldo:100,

 depositar:function(valor)
 {
    this.saldo += valor
 }
}




function oferecerSeguro(obj){
    const propsClientes = object.keys(obj);
    if(propsClientes.includes("dependentes"))
    {
        console.log(`Oferda de seguro de vida para $ {obj.nome}`);
    }

}
oferecerSeguro(cliente)

Oi, Kelvin,

Sim, posso ajudar!

Identifiquei dois problemas.

O primeiro é na linha const propsClientes = object.keys(obj);, pois o O de object precisa ser maiúsculo , ficando assim: const propsClientes = Object.keys(obj);. Caso queira saber mais sobre o método Object.keys recomendo este link.

O segundo problema é que tem um espaço a mais no console.log na hora de mostrar o nome do cliente, perceba que tem um espaço entre o sinal de dólar e a abertura da chave, $ {obj.nome}, tirando esse espaço o nome será mostrado corretamente.

Espero ter ajudado.

Abraços e bons estudos!

Deu certo, muito obrigado denovo, vc me ajudou mt.