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

254
Views
¿Cómo crear un objeto Javascript a partir de una matriz de claves conocidas, pero con los valores inicializados en nulo?

Tengo un objeto JS del que extraeré una matriz de claves (usando Object.keys() ) y luego quiero usar esas mismas claves para crear un objeto diferente, pero esta vez con sus valores inicializados en null .

En Python, haría algo como:

 list_of_keys = ["key_1", "key_2"] # The * unpacks the list, could be thought as a JS spread operator new_dict = dict.fromkeys(*list_of_keys)

Y recuperaría un nuevo diccionario con todos sus valores inicializados en None de forma predeterminada.

Sin embargo, parece que no encuentro una propiedad o método similar en Javascript.

EDITAR: si usa ESLint, la respuesta de @CerebralFart (el for... of... ) podría desencadenar una queja del linter. Se puede abordar aquí.

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Puedes usar el método reduce para hacerlo:

 const object = { key_1: 'value_1', key_2: 'value_2', key_3: 'value_3' }; const new_object = Object.keys(object).reduce((accumulator, currentValue)=> { accumulator[currentValue] = null; return accumulator; }, {}); console.log(new_object)

about 4 years ago · Juan Pablo Isaza Report

0

No hay necesidad de hacer esto más complicado que un simple bucle for:

 const object = { key_1: 'value_1', key_2: 'value_2', key_3: 'value_3' }; const newObject = {}; for (const key in object) { newObject[key] = null } console.log(newObject);

O, si solo tienes las llaves

 const keys = ['key_1', 'key_2', 'key_3']; const newObject = {}; for (const key of keys) { newObject[key] = null } console.log(newObject);

ETA: También podría usar Object.fromEntries con algún mapeo. Dependiendo de lo que quiera hacer con el objeto, esto puede ser marginalmente más rápido.

 const object = { key_1: 'value_1', key_2: 'value_2', key_3: 'value_3' }; const newObject = Object.fromEntries(Object.keys(object).map(key => [key, null])); console.log(newObject);

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!