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

Como pegar todos os "dependentes"(object) do "objeto" "cliente" com for e Spread Operator?

const cliente = [{
  nome: "Andre",
  cpf: 21252121123,
  idade: 30,
  email: "andre@email.com",
  telefone: ["55342121521", "55312512212"],
  dependentes: [{
    nome: "Mario",
    parentesco: "filho",
    dataNasc: "01/01/2015"
  }]
},
{
  nome: "Andre",
  cpf: 21252121123,
  idade: 30,
  email: "andre@email.com",
  telefone: ["55342121521", "55312512212"],
  dependentes: [{
    nome: "Leo",
    parentesco: "filho",
    dataNasc: "02/01/2015"
  },
  {
    nome: "Flavia",
    parentesco: "sobrinha",
    dataNasc: "04/04/2014"
  }]
}]

listaDeDependentes = [...cliente[0].dependentes, ...cliente[1].dependentes]

console.log(listaDeDependentes);

//Console:

[
  { nome: 'Mario', parentesco: 'filho', dataNasc: '01/01/2015' },
  { nome: 'Leo', parentesco: 'filho', dataNasc: '02/01/2015' },
  { nome: 'Flavia', parentesco: 'sobrinha', dataNasc: '04/04/2014' }
]

Em vez de fazer com

[...cliente[0].dependentes, ...cliente[1].dependentes]

Como seria possível com algum dos "for" ? Como dito no desafio da aula.

1 resposta
solução!

Com o for poderia ser assim:

const listaDependentes = [];
for(let i = 0; i < clientes.length; i++) {
  listaDependentes.push(...clientes[i].dependentes)
}

Ou poderia também fazer com o forEach():

const listaDependentes =[];
clientes.forEach(cliente => listaDependentes.push(...cliente.dependentes))