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

127
Visualizações
Agregue clave y valor a una matriz usando javascript

Tengo dos objetos y necesito crear una nueva matriz con una nueva estructura, por ejemplo: Estos son mis objetos:

Objeto 1: [{ "Pregunta":"Cambio climático", "Total":"3.456" }]

Objeto 2: [{ "Pregunta":"Cambio climático", "Total":"3.567" }]

Necesito esta salida

[{ "x":3.456, "y":3.567 }]

Intenté crear la matriz que necesito con una de las matrices... Entonces usé la primera matriz para tener: [{y:3.456}] y funciona, ahora necesito agregar la tecla x y el valor de la segunda matriz así que probé esto:

Donde chardatavalue es una de las matrices (que contiene la tecla "y" y el valor) y arrayforxls2 es la otra, pero el código que tengo solo asigna el último valor de la segunda matriz a todas las teclas "x".

 var resultnew = chartdatavalue.map(function (el) { var o = Object.assign({}, el); for (let i of arrayforxls2) { ox = i.Total; } return o; });

chartdatavalue tiene esta estructura:

 [{ y: '3.893' }]

arrayxls2 tiene esta estructura:

 [{ "Question":"Climate change", "Total":"3.567" }]

Necesito esta salida:

[{ "x":3.567, "y":3.893 }] ¿Me pueden ayudar?

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

0

Posiblemente estés buscando esto:

 var resultnew = chartdatavalue.map(function (el, i) { return Object.assign({ x: arrayforxls2[i].Total }, el); });

El cambio aquí es que se captura y usa i , de modo que el i -ésimo objeto de una matriz se fusiona con el i -ésimo del otro.

También puede usar la sintaxis de distribución de objetos en lugar de Object.assign para esto:

 var resultnew = chartdatavalue.map((el, i) => ({ x: arrayforxls2[i].Total, ...el}) );

O, cuando hay otras propiedades en el que necesita ignorar, entonces con la desestructuración de objetos:

 var resultnew = chartdatavalue.map(({y}, i) => ({ x: arrayforxls2[i].Total, y}) );
about 4 years ago · Juan Pablo Isaza Relatório

0

Algo como esto:

 var resultnew = chartdatavalue.map((el, i) => ({x: el.Total, y: arrayforxls2[i].Total}));

Esto itera sobre una de las matrices y usa el índice i para obtener el valor del objeto correspondiente en la otra matriz.

No tiene sentido usar Object.assign() ya que los objetos de resultado no incluyen ninguno de los nombres de propiedad de los objetos de entrada.

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