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

139
Vistas
¿Cómo verificar la existencia de propiedades dinámicas dentro de un objeto?
const result = { "MEN": [], "WOMEN": [], "KIDS TEMP": [ "BCDEFHJJJJJJ34EEE234", "ABCDEFGHIJKL12345678" ] } const result = { "MEN": [], "WOMEN": [], "CHILDREN TEMP": [ "BCDEFHJJJJJJ34EEE234", "ABCDEFGHIJKL12345678" ] }

Tengo un result de objeto como el anterior. A veces, puede tener la propiedad KIDS TEMP y, a veces, CHILDREN TEMP . Dado que esta propiedad tiene espacios, no puedo usar el operador de punto para obtener estas propiedades. Quiero crear una bandera si existe CHILDREN TEMP o KIDS TEMP PARA NIÑOS. Intenté a continuación: -

 const part = 'KIDS TEMP' || 'CHILDREN TEMP'; let check; if (result) { check = !!(result?.MEN.length !== 0 || result[part].length !== 0); }

Pero el código anterior se rompe cuando recibo CHILDREN TEMP diciendo que no puede leer la longitud de indefinido. ¿Cómo puedo solucionar esto?

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Object.keys() devuelve los nombres de propiedad de un objeto. Puede comprobar así, si un objeto posee una determinada propiedad:

 const result = { "MEN": [], "WOMEN": [], "KIDS TEMP": [ "BCDEFHJJJJJJ34EEE234", "ABCDEFGHIJKL12345678" ] } console.log(Object.keys(result).includes("KIDS TEMP")); console.log(Object.keys(result).includes("CHILDREN TEMP"));

Si desea probar, si existe un determinado atributo, y en caso de que exista, contiene una matriz no vacía, puede probarlo así:

 const result = { "MEN": [], "WOMEN": [], "KIDS TEMP": [ "BCDEFHJJJJJJ34EEE234", "ABCDEFGHIJKL12345678" ] } console.log(result["KIDS TEMP"]?.length > 0); console.log(result["CHILDREN TEMP"]?.length > 0);

El principal problema con su código es que const part = string1 || string2 siempre se evalúa como string1 , que no es lo que pretende hacer.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede usar el método de Object hasOwnProperty; devolverá true/false dependiendo de si la propiedad existe en el objeto o no.

 const result = { "MEN": [], "WOMEN": [], "KIDS TEMP": [ "BCDEFHJJJJJJ34EEE234", "ABCDEFGHIJKL12345678" ] } console.log(result.hasOwnProperty('KIDS TEMP'),result.hasOwnProperty('CHILDREN TEMP'));

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