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
¿Cómo puedo crear una asignación de objetos a partir de una matriz de cadenas?

Estoy tropezando con algo que debería ser fácil, pero parece que no puedo hacerlo.

Tengo una matriz de cadenas y quiero mapearlas para crear un objeto como este:

 const monthesList = ['january', 'february', 'march', 'april', 'may'] const myState = monthesList.map(month => ( month: {selected: false, year: 2022} ) )

lo que quiero es obtener el siguiente objeto:

 myState ={ january:{ selected: false, year: 2022 }, february:{ selected: false, year: 2022 }, march:{ selected: false, year: 2022 }, april:{ selected: false, year: 2022 }, may:{ selected: false, year: 2022 }, }

Editar: acabo de encontrar el camino:

 const myState = monthesList.map(month => ( {[month] : { selected: false, year: 2022 }} ) )

solo necesito hacer un objeto con él, no debería ser demasiado difícil

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

0

El método .map() devuelve una matriz, pero el resultado que busca es un objeto. Necesita algo que pueda convertir una matriz de pares clave-valor (es decir: [key, value] ) en un objeto. Para esto, tenemos el método Object.fromEntries() que toma una matriz de pares clave-valor y, a partir de ella, construye un objeto como este:

 const monthesList = ['january', 'february', 'march', 'april', 'may']; const myState = Object.fromEntries(monthesList.map(month => [ month, {selected: false, year: 2022} ])); console.log(myState);

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede usar map para generar una matriz de matrices con los valores en cada matriz interna como el nombre del mes y el objeto; luego use Object.fromEntries para convertir eso en su objeto deseado:

 const monthesList = ['january', 'february', 'march', 'april', 'may'] const myState = Object.fromEntries( monthesList.map(m => [m, {selected: false, year: 2022}]) ) console.log(myState)

about 4 years ago · Juan Pablo Isaza Denunciar

0

map solo devolverá una matriz. Su salida esperada es un objeto. No hay necesidad de complicar demasiado las cosas; en su lugar, use un bucle simple .

 const list = ['january', 'february', 'march', 'april', 'may']; const myState = {}; for (const month of list) { myState[month] = { selected: false, year: 2022 }; } console.log(myState);

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