Création de variables dans une boucle... Comment faire ?

Résolu/Fermé
pilooFR Messages postés 20 Date d'inscription samedi 5 mai 2012 Statut Membre Dernière intervention 19 avril 2015 - 27 mars 2014 à 21:33
pilooFR Messages postés 20 Date d'inscription samedi 5 mai 2012 Statut Membre Dernière intervention 19 avril 2015 - 29 mars 2014 à 12:56
Bonjour

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
A voir également:

1 réponse

cyril1982 Messages postés 110 Date d'inscription vendredi 7 mars 2014 Statut Membre Dernière intervention 19 septembre 2018 12
27 mars 2014 à 22:24
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};
} 
1
pilooFR Messages postés 20 Date d'inscription samedi 5 mai 2012 Statut Membre Dernière intervention 19 avril 2015
27 mars 2014 à 23:00
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...)
0
cyril1982 Messages postés 110 Date d'inscription vendredi 7 mars 2014 Statut Membre Dernière intervention 19 septembre 2018 12
28 mars 2014 à 11:02
Il y avait quelques erreurs de syntaxes dans mon code :

var keys= ['a', 'b', 'c', 'd', 'e']; /*Tableau*/
for(var p=0; p<=keys.length; p++){
var nomPB[keys[p]] = {x : c, y : l};
}
0
pilooFR Messages postés 20 Date d'inscription samedi 5 mai 2012 Statut Membre Dernière intervention 19 avril 2015
28 mars 2014 à 12:33
J'en avais déjà pris compte. ;)
Mais comment atteindre par exemple la coordonnée x de a dans ce cas ?
0
cyril1982 Messages postés 110 Date d'inscription vendredi 7 mars 2014 Statut Membre Dernière intervention 19 septembre 2018 12
28 mars 2014 à 13:36
nomPB['a'].x
0
Utilisateur anonyme
28 mars 2014 à 13:59
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);
0