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?
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}) );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.