• 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

124
Vistas
Función de mapa para construir una matriz a partir de un objeto filtrado

Estoy tratando de entender las funciones del mapa actualmente sin mucho éxito.

Actualmente tengo una lista de objetos y estoy tratando de reasignar a un nuevo objeto usando la función de mapa para devolver un mapa indexado por la propiedad creada con una lista de wooids.

Habiendo escrito mi función de mapa, parece que solo estoy regresando la última vez.

 const variants = [ { created: '2022-03-06', hashname: 'c78ba80402290724609a5e98c369c90984494152', hashobject: '80864e6329d5e305a512ace872ad7d56a3f41095', hashparent: '19c5d50ddddeb7c9a92469df78c47d9d611f1599', action: 'added', wooid: 7288 }, { created: '2022-03-06', hashname: 'c78ba80402290724609a5e98c369c90984494152', hashobject: '80864e6329d5e305a512ace872ad7d56a3f41095', hashparent: '19c5d50ddddeb7c9a92469df78c47d9d611f1599', action: 'added', wooid: 7289 } ] const res = Object.fromEntries(variants.map(k => [k.created, [k.wooid]])) console.log(res)
Salida de corriente

 { '2022-03-06': [ 7289 ] }

Salida deseada:

 { '2022-03-06': [ 7289, 7288 ] }

Cualquier ayuda sería muy apreciada ya que no estoy seguro de cómo llenar dinámicamente la matriz para incluir todas las demás (6 en total).

almost 3 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Use Array.prototype.reduce() para construir su objeto. Compruebe si ya tiene una clave para cada valor created y, si no, cree una matriz vacía. Luego agregue el valor de la wooid

 const variants = [{"created":"2022-03-06","hashname":"c78ba80402290724609a5e98c369c90984494152","hashobject":"80864e6329d5e305a512ace872ad7d56a3f41095","hashparent":"19c5d50ddddeb7c9a92469df78c47d9d611f1599","action":"added","wooid":7288},{"created":"2022-03-06","hashname":"c78ba80402290724609a5e98c369c90984494152","hashobject":"80864e6329d5e305a512ace872ad7d56a3f41095","hashparent":"19c5d50ddddeb7c9a92469df78c47d9d611f1599","action":"added","wooid":7289}] const res = variants.reduce((acc, { created, wooid }) => ({ ...acc, [ created ]: [ ...acc[created] ?? [], // init to an empty array if unset wooid ] }), {}) console.log(res)

Esto recopilará valores de wooid created en el orden en que aparecen en los datos originales.

almost 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