Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

114
Views
Cómo convertir un objeto anidado en un par de valores clave en Javascript

Quiero hacer esto con la programación.

Problema

 attributes: { allow: [ '0' ], create: [ '0' ], all: [ '0' ], rfid: [ '0' ], }

lo que quiero es

 attributes: { allow:'0', create: '0', all:'0', rfid: '0', }
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Enfoque funcional:

Puede usar Object.entries para convertir un objeto { a: 1, b: 2 } en una matriz de matrices (que contienen pares de claves y valores) [['a', 1], ['b', 2]] . Luego puede usar Array#map para aplicar una operación en cada uno y asignar cada elemento de la matriz al valor de retorno de la operación. En nuestro caso, en realidad tendremos algo como [['allow', ['0']], ...] en ese punto y queremos asignarlo a [['allow', '0'], ...] . Luego, al final, deshacemos la primera operación usando Object.fromEntries para recuperar un objeto.

La operación de mapeo puede ser simplemente ([k, [v]]) => [k, v] . Usando la desestructuración, obtenemos una forma expresiva de extraer el valor que necesitamos y devolverlo.

Ahora, dado que todo parece estar dentro de otro objeto con attributes como clave (y no sé si puede haber otras claves), devolveremos otro objeto con los attributes reemplazados y las otras claves conservadas:

 function transform (object) { return { ...object, attributes: Object.fromEntries( Object.entries(object.attributes).map(([k, [v]]) => [k, v]) ) } }

Enfoque imperativo:

Este enfoque es más simple, pero mutará su objeto. Puede recorrer las claves en el objeto de attributes y reemplazar cada valor con su propio primer elemento de matriz, de la siguiente manera:

 function transform (object) { for (const key in object.attributes) { object.attributes[key] = object.attributes[key][0] } return object }
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!