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

137
Vistas
Cómo asignar dinámicamente propiedades y valores a un objeto en Javascript

Estoy tratando de asignar propiedades y valores a un objeto inicializado como vacío. Sin embargo, sigue generando el error: no se pueden asignar propiedades de indefinido (configuración '0'). Tenga en cuenta que "duplicado" es una copia del texto obtenido mediante el método de mapa en algunas líneas de código anteriores.

Estoy usando un bucle for para esta tarea. El fragmento de código se muestra a continuación.

 //Initialise an object to hold array data const dataStore = {}; //Note: text is an array of string for (let i = 0; i < text.length; i++) { let dataStoreKeyCounter = 0; if ((Object.hasOwn(dataStore, text[i])) !== true) { for (let j = 0; j < duplicate.length; j++) { if (text[i] == duplicate[j]) { dataStoreKeyCounter++; } } //Set the text as the a property and the counter as its value. dataStore.text[i] = dataStoreKeyCounter; } }
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

En tu código, pones dataStore.text[i] . No ha declarado dataStore.text . Después de declarar su objeto, haga dataStore.text = {}

Además, asegúrese de que su duplicado sea creado por

 let duplicate = {...dataStore}

De esta forma, una edición del original o del duplicado no afectará al otro.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede cambiar la siguiente línea:

dataStore.text[i] = dataStoreKeyCounter;

A esto:

dataStore[text[i]] = dataStoreKeyCounter;

Esto primero evaluará el valor de text[i] y luego lo pasará a dataStore como la clave que le brinda la naturaleza "dinámica" que está buscando.

La diferencia aquí es que cuando accede como este dataStore[key] , si la clave no está presente en el Objeto, se crea.

Mientras que, si accede a dataStore.key , si la clave no está presente, devolverá undefined

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