• Empleos
  • Sobre nosotros
  • profesionales
    • Inicio
    • Empleos
    • Cursos y retos
  • empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

109
Vistas
Combine los primeros elementos en dos matrices diferentes en uno - Javascript

Quiero fusionar los primeros elementos en dos matrices diferentes en uno.

 var arr = []; var arr2 = []; var year = ["January 2022", "February 2022", "March 2022", "April 2022", "May 2022"]; var value = [600000, 900000, 180000, 600000, 300000]; year.forEach(element => { arr.push({year: element}); }); value.forEach(element2 => { arr2.push({value: element2}); });

El resultado que traté de lograr es este:

 [ { year: "January 2022", value: 600000 }, { year: "February 2022", value: 900000 }, { year: "March 2022", value: 180000 }, { year: "April 2022", value: 600000 }, { year: "May 2022", value: 300000 } ];

Así que esto es lo que he intentado pero aún no obtengo el resultado esperado:

 var merged = arr.concat(arr2); var newData = []; merged.forEach(element => { newData.push({year: element.year, value: element.value}); }); console.log(newData);
about 3 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Siguiendo con tu lógica propongo esto:

 var years = ["January 2022", "February 2022", "March 2022", "April 2022", "May 2022"]; var values = [600000, 900000, 180000, 600000, 300000]; function merger(years, values){ if (years.length != values.length){ console.log("Dog"); }else { let merged = []; for(i=0; i < years.length; i++ ){ merged[i] = {year: years[i], value: values[i]}; } return merged; } } console.log(merger(years, values));

¡funciona!

about 3 years ago · Juan Pablo Isaza Denunciar

0

Podría tomar un objeto con claves deseadas y mapear los valores para obtener una matriz de objetos.

Este enfoque funciona para un número ilimitado de propiedades.

 const getObjects = object => Object.entries(object).reduce((r, [k, a]) => a.map((v, i) => ({ ...r[i], [k]: v })), {}), year = ["January 2022", "February 2022", "March 2022", "April 2022", "May 2022"], value = [600000, 900000, 180000, 600000, 300000], result = getObjects({ year, value }); console.log(result);

about 3 years ago · Juan Pablo Isaza Denunciar

0

Esto funcionará si la matriz de año y la matriz de valor tienen la misma longitud y las mismas posiciones:

 var year = ["January 2022", "February 2022", "March 2022", "April 2022", "May 2022"]; var value = [600000, 900000, 180000, 600000, 300000]; var result = []; year.forEach((year, i) => result.push({year, value: value[i]}))
about 3 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 Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda