Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => Mensaje iniciado por: Leguim en 10 Enero 2020, 04:14 AM

Título: [Pregunta]: ¿Como definir variables a través de un for? (javascript)
Publicado por: Leguim en 10 Enero 2020, 04:14 AM
Buenas noches,

estoy teniendo serios problemas y es que no puedo lograr definir variables a través de un for en javascript. Lo que hago es:

Código (javascript) [Seleccionar]

var array = ['variable_1', 'variable_2'];

for(var i = 0; i < array.length; i++)
{
    var array[i] = i; // La idea es crear la variable "var variable_1 = 0; y var variable_2 = 1;"
}
Título: Re: [Pregunta]: ¿Como definir variables a través de un for? (javascript)
Publicado por: AlbertoBSD en 10 Enero 2020, 04:40 AM
Basicamnete necesitas sustituir ese arreglo por un objeto y iterar sobre las propiedades del objeto:

Código (javascript) [Seleccionar]

var arreglo = {'variable_1': 0, 'variable_2': 0}; //Este "arreglo" realmente es un objeto
var keys =  Object.keys(arreglo);

for(var i = 0; i < keys.length; i++)
{
    arreglo[keys[i]] = i;
}
console.log(arreglo);


Saludos!
Título: Re: [Pregunta]: ¿Como definir variables a través de un for? (javascript)
Publicado por: @XSStringManolo en 10 Enero 2020, 08:11 AM
En el 99.99% no es necesario declarar variables dinámicamente. Probablemente lo estés haciendo mal.

Las variables son propiedades del objeto window en el navegador. Con la sintaxis del operador array puedes definir una propiedad a la que acceder directamente por su nombre. Al igual que no haces window.alert() y haces alert() llanamente.
Código (javascript) [Seleccionar]
for (var i = 0; i < tuArray; ++i) {

window[tuArray[i]] = + "valor asignado";

}


 
Si necesitas algo más enrevesado o no tienes el objeto window usa eval.
Código (javascript) [Seleccionar]
var nombreVar = 'value';

for(var i = 1; i < numVarsPorDeclarar; ++i) {

eval("var " + tuArray[i] + " = " + "valor asignado " + ";");

}
Lo puedes usar directamente desde la barra del navegador convinado con javascript:
Título: Re: [Pregunta]: ¿Como definir variables a través de un for? (javascript)
Publicado por: #!drvy en 10 Enero 2020, 11:02 AM
CitarEn el 99.99% no es necesario declarar variables dinámicamente. Probablemente lo estés haciendo mal.

This. Es una práctica muy muy shady. A nivel del uso de goto en ciertos lenguajes.


Saludos