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

Acessando um array dentro de array de objetos

const cliente = [{
  nome: "Victor",
  idade: "37",
  cpf: "878787877",
  dependentes: [{
    nome: "Ariel",
    idade: "24",
    parentesco: "irma"
  }, {
    nome: "Jujuba",
    idade: "21",
    parentesco: "tia"
  }],
}, {
  nome: "Maria",
  idade: "39",
  cpf: "3928298329823",
  dependentes: [{
    nome: "Joana",
    idade: "23",
    parentesco: "Prima"
  }]
}]

let clienteDependentes = [];

for (i = 0; i < cliente.length; i++) {
  clienteDependentes.push = cliente[i].dependentes;
  //console.log(cliente[i])
}
console.log(clienteDependentes) // [ push: [ { nome: 'Joana', idade: '23', parentesco: 'Prima' } ] ]

Saída: somente o último array que é o do segundo dependentes.

Se eu acessar clientes[i] ele acessa normalmente todo o array e até os dependentes, se der o console.log dentro do lop ele mostra os dependentes certinho, mas quando eu tiro do loop só mostra o último array, apliquei o push errado? Ele não teria que adicionar cada elemento "dependentes" dentro do array clienteDependentes? Porque a saída é sempre o último?

1 resposta
solução!

o push é o metodo que insere um elementro dentro de um array. entao a sintaxe dele é:

clienteDependentes.push(dependente);

Pelo que eu entendi voce quer colocar os dependentes nessa variavel. entao voce so precisa fazer:

clienteDependentes = cliente[i].depentendes. 

Ou usar o push de forma correta, caso voce queira colocar todos os dependentes de todos os clientes no array clienteDependentes.

clienteDependentes.push(...cliente[i].dependentes);

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software