Création de variables dans une boucle... Comment faire ?
Résolu
pilooFR
Messages postés
20
Date d'inscription
Statut
Membre
Dernière intervention
-
pilooFR Messages postés 20 Date d'inscription Statut Membre Dernière intervention -
pilooFR Messages postés 20 Date d'inscription Statut Membre Dernière intervention -
Bonjour
Je débute en Javascript et je souhaiterais créer plusieurs structures (pas sûr du nom en JS...) dans une boucle.
Donc voilà ce code ne marche bien évidemment pas et je cherche une solution pour que var nomPB[0] deviennent a, nomPB[1] --> b , etc...
Voilà, si vous avez une solution je suis tout ouïe ;)
Merci de votre attention
Cordialement
pilooFR
Je débute en Javascript et je souhaiterais créer plusieurs structures (pas sûr du nom en JS...) dans une boucle.
var nomPB = ['a', 'b', 'c', 'd', 'e'] /*Tableau*/
for(var p=1; p<=8; p++){
var nomPB[p] = {x : c, y : l}; /*Structure que je voudrais créer avec comme nom : a,b,c,...*/ } (Ce code est un peu brouillon mais j'ai essayé de mettre les éléments principaux de mon problème)
Donc voilà ce code ne marche bien évidemment pas et je cherche une solution pour que var nomPB[0] deviennent a, nomPB[1] --> b , etc...
Voilà, si vous avez une solution je suis tout ouïe ;)
Merci de votre attention
Cordialement
pilooFR
1 réponse
-
Bonjour,
Si j'ai bien compris, tu veux que a,b, ... soient les clés de ton tableau ?
Si oui :var keys= ['a', 'b', 'c', 'd', 'e'] /*Tableau*/ for(var p=0; p<=keys.length; p++){ var var nomPB[keys[p]] = {x : c, y : l}; }-
Tout d'abord merci pour votre aide ! :)
Je souhaite que mes pièces d'échecs est chacune leur coordonnées x, y assignées lors de l'initialisation. Et que je puisse les modifier facilement par la suite.
(je n'arrive pas à adapter votre code au mien j'ai comme message d'erreur : "Unexpected token [ ", je continu de chercher pour trouver le problème...) -
-
-
-
Bonjour
À mon humble avis et après essais, il reste une erreur importante dans le code.
En fait, il ne faut pas déclarer de variable dans la boucle : il faut déclarer un tableau avant, et faire une simple affectation dans la boucle.
De plus, le test de fin de boucle doit être fait avec <, pas <=. Pour éviter toute ambiguïté, autant utiliser un 'in'
Tu récupères la coordonnée x de a avec nomPB.a.x ou nomPB['a']['x'] ou plusieurs autres variantes
var keys= ['a', 'b', 'c', 'd', 'e']; /*Tableau*/ var nomPB = new Array; for(var p in keys){ nomPB[keys[p]] = {x : c, y : l}; } alert(nomPB.a.x);
-