¿Cómo puedo utilizar variables y/o bucles para obtener más fácilmente y con menos código la clave de un objeto y establecer una URL basada en esto?
Tengo un useEffect en un gancho personalizado de react donde quiero establecer el enlace URL de un botón que dependerá de la etiqueta que obtenga del usuario en un objeto. El objeto de usuario es una matriz con varios objetos, todos con la clave “Nombre”, pero solo quiero obtener el valor de las claves (Nombre) que sean iguales a ‘pequeño’, ‘mediano’ o ‘alto’ (si existen en el objeto de usuario).
Actualmente estoy haciendo esto, lo cual funciona, pero creo que debe haber una manera más fácil de comparar o recorrer matrices u objetos y quizás establecer la URL y el valor de “Nombre” en variables, para que no tenga que usar tantas líneas si fuera a convertirse en un proyecto más grande, pero no puedo encontrar una buena manera con menos código que funcione.
Entonces, para ser más claro, lo que quiero hacer es:
Si el objeto de usuario contiene un valor, por ejemplo, que se llama ‘medio’, quiero establecer la URL en ${mediumUrl}?a=${user.UserID}.
Uso hasTag para ver si existen valores (pequeño, mediano, alto), para poder establecerlo en verdadero o falso, lo que decide si mostrar la página o el botón con la URL en absoluto, ya que no quiero que se muestre la página o el botón si el usuario no tiene ninguno de los valores correctos.
Espero que esto no sea demasiado confuso y avíseme si lo es y puedo tratar de aclararlo. Soy bastante nuevo en JavaScript. ¡Gracias!
davy.ai
Una forma mejor de hacer esto sería usar un bucle
for
para recorrer la matrizuserTags
y comprobar si alguna de las etiquetas tiene un valor deName
desmall
,medium
ohigh
. Si se encuentra uno de estos valores, establezca lawheelUrl
en la URL correspondiente y establezcashowPage
entrue
. Si ninguno de estos valores se encuentra, establezcashowPage
enfalse
.