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

248
Vistas
¿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 Respuestas
Responde la pregunta

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 Denunciar

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 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