Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

142
Visualizações
Objeto mecanografiado con matrices a matriz

Necesito ayuda para resolver esto :)

Quiero transferir el objeto a una matriz. El resultado esperado debe ser:

 result = [ { id: 'test-1', message: 'test#1.1' }, { id: 'test-1', message: 'test#1.2' }, { id: 'test-2', message: 'test#2.1' }, { id: 'test-2', message: 'test#2.2' } ]

Mi solución aparente es con objects.keys() y map(). Desafortunadamente, esto no funciona como se desea:

 mockData = { 'test-1': [ { message: 'test#1.1' }, { message: 'test#1.2' } ], 'test-2': [ { message: 'test#2.1' }, { message: 'test#2.2' } ] } const result = Object.keys(this.mockData).map((id) => { return { id, ...this.mockData[id], } }) console.log(result)

¿Tengo que poner otro mapa () sobre this.mockData[id]? ¿Qué estoy haciendo mal y cuál es la mejor práctica aquí (¿tal vez reducir ()?)?

Espero que puedas ayudarme

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Para desagrupar, puede flatMap un mapa plano de las entradas de Object.entries del objeto agrupado con una llamada map() anidada sobre los elementos de matriz agrupados.

 const mockData = { 'test-1': [{ message: 'test#1.1' }, { message: 'test#1.2' }], 'test-2': [{ message: 'test#2.1' }, { message: 'test#2.2' }] }; const result = Object.entries(mockData).flatMap(([id, vs]) => vs.map(v => ({ id, ...v }))); console.log(result);

O usando un bucle for...of si prefieres

 const mockData = { 'test-1': [{ message: 'test#1.1' }, { message: 'test#1.2' }], 'test-2': [{ message: 'test#2.1' }, { message: 'test#2.2' }] }; const result = []; for (const [id, messages] of Object.entries(mockData)) { for (const message of messages) { result.push({ id, ...message }); } } console.log(result);

about 4 years ago · Juan Pablo Isaza Relatório

0

Esto devolverá la solución deseada,

 const arr = []; Object.keys(mockData).forEach((key) => { mockData[key].forEach((data) => { arr.push({ id: key, message: data.message }) }) })
about 4 years ago · Juan Pablo Isaza Relatório

0

Object.keys(mockData) .map((id) => mockData[id].map((l) => { return { ...l, id }; }) ) .flat()
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda