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

146
Visualizações
Cómo fusionar una matriz en el valor del objeto de otra matriz

Tengo dos conjuntos de datos como se muestra a continuación:

 let loadedData = [ [ { y: 12, x: 'Tue Sep 14 2021 05:15:38 GMT-0700 (Pacific Daylight Time)' }, { x: 10, y: 'Tue Sep 14 2021 05:15:38 GMT-0700 (Pacific Daylight Time)' } ], [ { x: 32, y: 'Tue Sep 14 2021 05:15:38 GMT-0700 (Pacific Daylight Time)' } ] ];

y

 let seriesData = [ { name: 'Graph', type: 'Column', data: [] }, { name: 'Graph', type: 'line', data: [] } ];

Quiero agregar los valores deloadedData insertados en la propiedad de datos de seriesData. El resultado esperado debería ser así.

 result = [ { name: 'Graph', type: 'Column', data: [ { y: 12, x: 'Tue Sep 14 2021 05:15:38 GMT-0700 (Pacific Daylight Time)' }, { x: 10, y: 'Tue Sep 14 2021 05:15:38 GMT-0700 (Pacific Daylight Time)' } ], }, { name: 'Graph', type: 'line', data: [ { x: 32, y: 'Tue Sep 14 2021 05:15:38 GMT-0700 (Pacific Daylight Time)' } ] } ];

Busqué soluciones pero no pude encontrar una que se ajustara a mis criterios. Esto es lo que probé.

 let loadedData = [ [{ y: 12, x: 'Tue Sep 14 2021 05:15:38 GMT-0700 (Pacific Daylight Time)' }, { x: 10, y: 'Tue Sep 14 2021 05:15:38 GMT-0700 (Pacific Daylight Time)' } ], [{ x: 32, y: 'Tue Sep 14 2021 05:15:38 GMT-0700 (Pacific Daylight Time)' }] ]; let seriesData = [{ name: 'Graph', type: 'Column', data: [], }, { name: 'Graph', type: 'line', data: [] } ]; for (let i = 0; i < loadedData.length; i++) { const series = this.widget.config["options"].map((type) => { console.log(type.graphType); let el = []; this.loadedData.forEach(element => { el.push(element); }); return { name: type.sensor.sensorType, type: type.graphType, data: el[i] }; }); seriesData = series; }

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

0

Si no necesita una copia de seriesData loadedData , entonces .forEach() es todo lo que necesita

 seriesData.forEach((serie, index) => { serie.data = loadedData[i] || serie.data; }); 

 let loadedData = [ [ { x: 12, y: 'a' }, { x: 10, y: 'b' } ], [ { x: 32, y: 'c' } ] ]; let seriesData = [ { name: 'Graph', type: 'Column', data: [] }, { name: 'Graph', type: 'line', data: [] } ]; seriesData.forEach((serie, index) => { serie.data = loadedData[index] || serie.data; }); console.log(seriesData);

Si necesita una copia:

 const result = seriesData.map((serie, index) => { return { ...serie, data: (loadedData[index] || serie.data).map(d => Object.assign({}, d)) }; });
about 4 years ago · Juan Pablo Isaza Relatório

0

Solución ES6 inmutable usando el map de matriz:

 seriesData.map((obj, index) => ({ ...obj, data: loadedData[index] })); 

 const loadedData = [ [{ y: 12, x: 'Tue Sep 14 2021 05:15:38 GMT-0700 (Pacific Daylight Time)' }, { x: 10, y: 'Tue Sep 14 2021 05:15:38 GMT-0700 (Pacific Daylight Time)' } ], [{ x: 32, y: 'Tue Sep 14 2021 05:15:38 GMT-0700 (Pacific Daylight Time)' }] ]; const seriesData = [{ name: 'Graph', type: 'Column', data: [], }, { name: 'Graph', type: 'line', data: [] } ]; const seriesFilledData = seriesData.map((obj, index) => ({ ...obj, data: loadedData[index] })); console.log(seriesFilledData);

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