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

240
Vistas
Cómo obtener valor de datos en un bucle

Hola, quiero recibir alertas "lkb_1" y "lkb_2", pero este código me da "product_1_name" y "product_1_name";

Las funciones eval y window Puedo deshacerme de ellas, pero creo que no se recomiendan para hacer eso... entonces, ¿hay alguna otra solución en lugar de las funciones eval y window?

 <script> product_1_name = "lkb_1"; product_1_pcs = 3; product_2_name = "lkb_2"; product_2_pcs = 5; profil_ismi = ""; const profil_listesi = ["product_1", "product_2"]; i = 0; while (i < profil_listesi.length) { profil_ismi = profil_listesi[i] + "_name"; alert(profil_ismi); i = i + 1; } </script>
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Para evitar el uso de eval, puede hacerlo.

La cosa funcionaría bien si envuelve los nombres de los productos en una matriz. luego puede crear dinámicamente el nombre de la variable y, por lo tanto, recuperar específicamente el valor en la matriz.

 arr = [] arr['product_1_name'] = "lkb_1" ; product_1_pcs = 3 ; arr['product_2_name'] = "lkb_2" ; product_2_pcs = 5 ; profil_ismi = "" ; const profil_listesi = ["product_1","product_2"]; let i=0; while (i<profil_listesi.length) { let _name = profil_listesi[i] + '_name' profil_ismi = arr[_name]; alert (profil_ismi) ; i=i+1; }

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede usar eval en este caso. Es seguro, porque es evidente que no se puede utilizar indebidamente para la inyección de código en este caso particular.

Aún así, creo que sería mejor (más escalable, más preparado para el futuro) tener una variedad de productos, de la siguiente manera:

 var products = [ { id: 'product_1', name: 'lkb_1', pcs: '3'}, { id: 'product_2', name: 'lkb_2', pcs: '5'} ]; const profil_listesi = ["product_1", "product_2"]; i = 0; while (i < profil_listesi.length) { profil_ismi = products.find(p => p.id === profil_listesi[i]) alert(profil_ismi.name); i = i + 1; }

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