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

138
Vistas
Acceda al interior de una matriz que es parte de un objeto sin un bucle for, javascript

Tengo este código que funciona:

 var roles = user.getRoles() for (var i = 0; i < roles.length; i++){ if (Roles[i].getName()== 'Admin'){ --gets to this line } }

Sin embargo, me preguntaba si podría obtener un VERDADERO/FALSO sin un bucle for/if como el siguiente que no funciona para mí:

 if (user.getRoles().getName().indexOf('Admin') >-1){ -does not get to this line }

Da error: user.getRoles().getName no es una función

si imprimo roles, el resultado es: UserRole@718816d, UserRole@1ae91200, UserRole@48baf10b, UserRole@777d6d90, UserRole@34ad99fb, UserRole@6606e47c, UserRole@79ab731e, UserRole@65269056, UserRole@3d9cbf48, 88UserRole8@6ce,88UserRole8@ Función de usuario@4e792483, Función de usuario@1f8ca93a

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

0

Parece que usar .includes debería funcionar para usted en esta situación. Parece que está buscando una cadena conocida ('Administrador')

 var roles = user.getRoles() if (roles.includes('Admin')) { - gets here if true } }

https://www.digitalocean.com/community/tutorials/js-array-search-methods

about 4 years ago · Juan Pablo Isaza Denunciar

0

if(user.getRoles()?.find(role => role.getName() === 'admin')){ // do stuff }

El signo de interrogación está ahí para verificar si hay un valor proveniente de getRoles.

Find devolverá nulo o el rol.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Entonces, lo que supongo de la información proporcionada es que el método getName() está definido en los objetos dentro de la matriz de roles. Entonces user.getRoles() le devuelve una matriz en la que no puede llamar al método getName()

Lo que creo que puedes hacer es user.getRoles().find(el => el.getName() === 'Admin')

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