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

93
Visualizações
Cree una estructura de datos de matriz a partir de un objeto anidado de matrices en JS

Tengo una estructura de datos de la siguiente manera:

ACTUALIZADO: tener más de un objeto en valores internos

 const data = { "dates": [ "2015-09-09T00:00:00", "2015-09-09T00:10:00", "2015-09-09T00:20:00", ], "innerValues": [ { "name": "Name_1", "value": [ 104, 105, 107, ] }, { "name": "Name_2", "value": [ 656, 777, 145, ] }], }

Me gustaría crear una salida como:

 const outPut = [ ["2015-09-09T00:00:00", 'Name_1', 104 ], ["2015-09-09T00:10:00", 'Name_1', 105 ], ["2015-09-09T00:20:00", 'Name_1', 107 ], ["2015-09-09T00:00:00", 'Name_2', 104 ], ["2015-09-09T00:10:00", 'Name_2', 105 ], ["2015-09-09T00:20:00", 'Name_2', 107 ] ]

Hasta ahora tengo esto, sé que también podría hacer esto con forEach, etc., pero como ejemplo.

 const m = data.dates; let arr = []; for (var i = 0; i < m.length; i++) { arr[i] = new Array(m[i]); } console.log(arr);

Esto da:

 0: ['2021-09-09T00:00:00'] 1: ['2021-09-09T00:10:00'] 2: ['2021-09-09T00:20:00']

Que es donde quiero comenzar, sin embargo, si mapeo los inner.values y trato de crear una nueva matriz a partir de eso, no devuelve tres matrices separadas sino una.

 const newArray = x.forEach(inner => console.log(new Array(inner)))

Producción

 0: (3) [104, 105, 107]

¿Cómo podría lograr la estructura deseada anterior?

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

0

Puede usar reduce y map para recorrer valores internos y sus valores

 const dates = data.dates const newArr = data.innerValues.reduce((acc, cur, i) => { acc.push(cur.value.map((value, i) => ([dates[i], cur.name, value]))); return acc; }, []).flat() console.log(newArr)
 <script> const data = { "dates": [ "2015-09-09T00:00:00", "2015-09-09T00:10:00", "2015-09-09T00:20:00", ], "innerValues": [{ "name": "Name_1", "value": [ 104, 105, 107, ] }, { "name": "Name_2", "value": [ 656, 777, 145, ] } ], } </script>

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