92 votes

Comment créer des noms de variables dynamiques dans une boucle ?

Je travaille sur un script ajax google maps et j'ai besoin de créer des noms de variables dynamiques dans une boucle for.

 for (var i = 0; i < coords.length; ++i) {
    var marker+i = "some stuff";
}

Ce que je veux obtenir est : marker0 , marker1 , marker2 et ainsi de suite. et je suppose qu'il y a quelque chose qui ne va pas avec marker+i

Firebug me donne ceci : missing ; before statement

131voto

JohnP Points 29302

Utilisez un tableau pour cela.

 var markers = [];
for (var i = 0; i < coords.length; ++i) {
    markers[i] = "some stuff";
}

22voto

Safiq Points 189

Essaye ça

 window['marker'+i] = "some stuff"; 

1voto

Md Junaid Alam Points 116

Vous pouvez utiliser la méthode eval() pour déclarer des variables dynamiques. Mais mieux vaut utiliser un Array.

 for (var i = 0; i < coords.length; ++i) {
    var str ="marker"+ i+" = undefined";
    eval(str);
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X