Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

126
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda