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

259
Vistas
Operaciones de matriz: ¿Qué forma preferirá, por qué? ¿Hay alguna forma mejor?

Para verificar si existe un elemento en una matriz, ¿qué método es mejor? ¿Hay otras formas de hacer una comprobación booleana?

 type ObjType = { name: string } let privileges: ObjType[] = [{ name: "ROLE_USER" }, { name: "ROLE_ADMIN" }, { name: "ROLE_AUTHOR" }]; //method 1 const hasAdminPriv = privileges instanceof Array && privileges.find((ele: ObjType) => ele.name === "ROLE_ADMIN"); //method 2 const found = privileges instanceof Array && privileges.find((ele: ObjType) => ele.name === "ROLE_ADMIN") !== undefined; //method 3 const privilSet = new Set<string>(); privileges.forEach((element: ObjType)=> privilegeSet.add(element.name)); //method 4 const privilegeSet2 = new Set<string>(privileges.map((element: ObjType) => element.name)); console.log(privilegeSet2.has("ROLE_ADMIN"));
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Lo más probable es que dependa de la forma en que quieras usar esto.

La conversión de conjunto podría ser beneficiosa, si tiene la intención de consultar varias cosas a la vez.

Tal vez prefiera usar some para su consulta, si realmente solo está interesado si un valor está en la matriz y no para el resto del objeto.

También sugeriría echar un vistazo a las includes , ya que eso puede ser exactamente lo que está buscando, al menos para objetos triviales en una matriz.

Dicho esto, si se ve obligado a usar uno de los métodos provistos, diría que el método 2 es mejor si desea verificar un valor y el método 4 si desea consultar múltiples valores o puede almacenar en caché el conjunto generado para grandes matrices y consultas relativamente frecuentes.

Nota al margen:

Si todo su código está escrito a máquina, realmente no veo por qué usaría la privileges instanceof Array . Por supuesto, esto puede ser necesario si la matriz proviene de un código js o un archivo, pero incluso entonces argumentaré que debe verificar el tipo cuando recibe la matriz y luego asumir que es una matriz si se escribe de esa manera. .

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