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

101
Vistas
Colocar una matriz en un par clave-valor en el objeto de alto nivel con múltiples valores

Estoy tratando de mover todo en Array Results fuera y dentro del objeto original

este es el objeto y la matriz Los resultados pueden tener múltiples valores

 { "Name": "John", "Results": [ { "Type": "DB", "Immediate_Action": "No", }, { "Type": "system", "Immediate_Action": "Yes", } ] }

Debe tener un aspecto como este

 { "Name": "John", "Type": ["DB","system"] "Immediate_Action": ["No","Yes"] }

Lo que tengo hasta ahora es que estos datos no se completarán de inmediato, sino que se repetirán hasta que se complete todo el objeto. Mapped[key] es probablemente incorrecto.

 const mapOscarResults = ({ data }) => { return data.map(entry => { let mapped = {...entry}; entry.Results.forEach(key => { let Type = mapped[key.Type] if (mapped[key]) { mapped[key].push(entry.Results[key]); } else { mapped[key] = [entry.Results[key]]; } }); return mapped; }); };
about 4 years ago · Santiago Gelvez
3 Respuestas
Responde la pregunta

0

Es un buen caso para reducir. Simplemente recopile los valores para las claves de Results en matrices...

 const input = { "Name": "John", "Results": [{ "Type": "DB", "Immediate_Action": "No", }, { "Type": "system", "Immediate_Action": "Yes", } ] } let output = { Name: input.Name } output.Results = input.Results.reduce((acc, el) => { let keys = Object.keys(el); keys.forEach(key => { if (!acc[key]) acc[key] = []; acc[key].push(el[key]); }); return acc; }, {}); console.log(output)

about 4 years ago · Santiago Gelvez Denunciar

0

Esto debería funcionar

 const data = { "Name": "John", "Results": [ { "Type": "DB", "Immediate_Action": "No", }, { "Type": "system", "Immediate_Action": "Yes", } ] }; const transformData = data => { const newData = { Name: data.Name }; newData.Type = []; newData.Immediate_Action = []; data.Results.forEach(({ Type, Immediate_Action }) => { newData.Type.push(Type); newData.Immediate_Action.push(Immediate_Action); }); return newData; } const newData = transformData(data); console.log(newData);
about 4 years ago · Santiago Gelvez Denunciar

0

Intenta usar reducir y entradas

 const data = { "Name": "John", "Results": [{ "Type": "DB", "Immediate_Action": "No", }, { "Type": "system", "Immediate_Action": "Yes", } ] }; const restructure = obj => { obj.Results = obj.Results.reduce((accumu, current) => { for (const [key, val] of Object.entries(current)) { accumu[key] = [...accumu[key] ?? '', val] ; } return accumu; }, {}); return obj; } console.log(restructure(data));

about 4 years ago · Santiago Gelvez 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