elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  [Pregunta]: Problemas con javascript (eval)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Pregunta]: Problemas con javascript (eval)  (Leído 718 veces)
Leguim


Desconectado Desconectado

Mensajes: 699



Ver Perfil
[Pregunta]: Problemas con javascript (eval)
« en: 14 Octubre 2021, 21:44 pm »

Hola,

estaba tratando de hacer esto:
Código
  1. let string = 'form_x.input_1.value, form_x.input_2.value, form_x.input_3.value, form_x.input_4.value';
  2.  
  3. // si yo hago..
  4. eval([string]); // esto va a crear un arreglo donde solamente agregará el último elemento, es decir el valor del input 4... Los demás no me aparecen.
  5. [code]
[/code]


En línea

Danielㅤ


Conectado Conectado

Mensajes: 905


🔵🔵🔵🔵🔵🔵🔵🔵🔵


Ver Perfil
Re: [Pregunta]: Problemas con javascript (eval)
« Respuesta #1 en: 14 Octubre 2021, 22:39 pm »

Hola, eso no funciona así, tenés que usar una matriz para agregar arrays o un array para insertar los strings.

Primero tenés que crear un array vacío, después usar un bucle que recorra los elementos de tu string para ir agregandolos a tu array, por lo que cada ciclo/vuelta que de el bucle, va a ir sumando elementos a tu array/arreglo.

Básicamente tu arreglo/array quedaría así:

Código
  1. arrayInputs
  2. ["form_x.input_1.value", "form_x.input_2.value", "form_x.input_3.value", "form_x.input_4.value"]


Saludos


« Última modificación: 14 Octubre 2021, 22:42 pm por Danielㅤ » En línea

¡Regresando como cual Fenix! ~
Bomber Code © 2021 https://www.bombercode.net/foro/

Ayudas - Aportes - Tutoriales - Y mucho mas!!!
MinusFour
Moderador Global
***
Conectado Conectado

Mensajes: 5.288


I'm fourth.


Ver Perfil WWW
Re: [Pregunta]: Problemas con javascript (eval)
« Respuesta #2 en: 14 Octubre 2021, 23:55 pm »

Poner el string entre corchetes no hace nada aquí... La función de eval convierte el arreglo a un string de vuelta, por lo que acabas haciendo:

Código
  1. eval('form_x.input_1.value, form_x.input_2.value, form_x.input_3.value, form_x.input_4.value');

Lo cual evalúa al último valor separado por coma (así funciona el operador de la coma en javascript).

Si lo que quieres es convertir el string en un arreglo, la forma más fácil es hacer un split...

Código
  1. let arr = string.split(', ');

Edit:

Me doy cuenta que el arreglo tal cual no es exactamente como lo que quieres. Si esas son variables y propiedades de javascript puedes hacer dos cosas.

Hacer eval de un arreglo en forma de string:

Código
  1. let arr = eval(`[${string}]`);

O hacer eval a cada elemento de la lista:

Código
  1. let arr = string.split(', ').map(eval);

Probablemente sea mejor una llama directa de eval (dependiendo del contexto de las variables).

Código
  1. let arr = string.split(', ').map(e => eval(e));
« Última modificación: 15 Octubre 2021, 02:58 am por MinusFour » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Pregunta en javascript « 1 2 »
Desarrollo Web
emma93 10 3,230 Último mensaje 2 Octubre 2010, 03:38 am
por Dznp
Pregunta javascript
Desarrollo Web
Riki_89D 4 2,339 Último mensaje 1 Diciembre 2010, 21:57 pm
por Riki_89D
javascript seguridad eval
Desarrollo Web
matake 3 1,825 Último mensaje 25 Julio 2016, 03:07 am
por engel lex
[Resuelto] [Pregunta]: ¿Como puedo pasar de html(); a eval();?
Desarrollo Web
Leguim 4 1,080 Último mensaje 21 Agosto 2019, 22:03 pm
por Leguim
equivalente a eval()? | javascript
Desarrollo Web
Drakaris 3 866 Último mensaje 25 Enero 2021, 00:17 am
por Drakaris
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines