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

109
Vistas
Estructura de objeto Javascript sin clave

Estoy tratando de generar una estructura de objeto así:

 {nums: {500: 0, 600: 0}}

Tengo una función que repite y devuelve números como se muestra en el objeto: 500 y 600. Sin embargo,

No importa lo que intente crear una estructura de objeto como la anterior, no funciona.

Esto es lo que tengo una matriz de objetos de la siguiente manera:

 const scores = [ {score: 500}, {variant_id: 600} ]

¿Cómo puedo recorrer la matriz de puntajes del objeto y obtener una estructura como: Número 0 en este ejemplo como un valor que se aplicará a todos los puntajes?

 {nums: {500: 0, 600: 0}}

Lo que he hecho es:

 let filteredScores = []; for (let i = 0; i < scores.length; i++) { const element = scores[i]; filteredScores.push(element); }

Sin embargo, esto no conduce a los resultados deseados.

¡Cualquier idea o entrada es muy apreciada!

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Un par de ideas usando reduce() y Object.values() .

 const scores = [ {score: 500}, {variant_id: 600} ]; const result1 = scores.reduce((o, item) => { o.nums[Object.values(item)[0]] = 0 return o; }, { nums: {} }); console.log(result1); // Basically the same thing, just more compact const result2 = { nums: scores.reduce((o, item) => ({...o, [Object.values(item)[0]]: 0}), {})}; console.log(result2);

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede usar Object.fromEntries junto con Array#map . (Para obtener el primer valor de propiedad de un objeto, puede recuperar el primer elemento de la matriz devuelta por Object.values ).

 const scores = [ {score: 500}, {variant_id: 600} ]; const res = {nums: Object.fromEntries(scores.map(x => [Object.values(x)[0], 0]))}; console.log(res);

about 4 years ago · Juan Pablo Isaza Denunciar

0

 var scores = [ {score: 500}, {variant_id: 600} ], result = scores.reduce( (r,o) => ( Object.keys(o).forEach(k => r.nums[o[k]] = 0) , r ) , {nums:{}} ); console.log(result);

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