<JavaScript> pb de variable

<JavaScript> pb de variable - HTML/CSS - Programmation

Marsh Posté le 19-09-2005 à 11:05:01    

bonjour,
j'ai un souci de boucle et de noms de variable...
voici les infos : (pour faire simple, je vais convertir mon code avec des z'animo ^_^ )
 
<script language="javascript">
 
je crée 1 tableau ANIMAUX
 
var animaux = new Array();
 
je crée 3 tableaux de 2 champs (nom, couleur)
 
var animal0 = new Array(); animal0 = ["chat","blanc"];
var animal1 = new Array(); animal1 = ["chien","noir"];
var animal2 = new Array(); animal2 = ["oiseau","bleu"];
 
je veux maintenant intégrer ces 3 tableaux dans le tableau ANIMAUX
je pourrai faire :
 
animaux[0] = animal0;
animaux[1] = animal1;
animaux[2] = animal2;
 
MAIS... je veux faire mon malin ;o)
voici mon idée : créer une string comportant la chaine 'animal' concaténée avec le numéro!!!
j'arrive bien à concaténer, mais je me retrouve avec les chaînes 'animal0', 'animal1', animal2' dans ANIMAUX au lieu de mes 3 tableaux...
 
var titre='';
for(var i=0;i<=2;i++)
{
titre = 'animal'+i;
animaux[i] = titre;
}
 
</script>
 
la question ne se pose bien sûr pas pour 3 animaux (comme ici), mais il se pose quand même parce que j'en ai dans les 300 (dans mon code)...
donc je ne me vois pas taper 300 fois "animaux[Z] = animalZ;" à la main...
d'où la boucle : je précise 300 et hop! va con dios, ça tourne tout seul :o)
donc : comment faire ?
OU ALORS : je me prends le chou pour rien et mon code est grave pas optimisé :-?
auquel cas : comment faire (bis) ?
 
si vous avez une 'tite idée... parce que là je bloque un peu...

Reply

Marsh Posté le 19-09-2005 à 11:05:01   

Reply

Marsh Posté le 19-09-2005 à 11:08:12    

animaux[0] = new array();
animaux[0] = ["chat","blanc"];  
 
etc.
 
Ce que tu essaies de faire n'est faisable dans quasiment aucun langage, moche, et faisable autrement.


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 19-09-2005 à 11:09:51    

déjà mets ton code entre balises [ code] [ /code] (sans les espaces)
et tu m'enleve cette horrible couleur insupportable.
 
Ensutie tu montrerais ce que tu as déjà fais et pour quoi tu veux le faire !

Reply

Marsh Posté le 19-09-2005 à 11:11:55    

Si j'ai bien compris, tu veux donner à 'titre' la valeur du tableau ?
c'est ça ?

Reply

Marsh Posté le 19-09-2005 à 11:14:40    

gatsusat a écrit :

déjà mets ton code entre balises [ code] [ /code] (sans les espaces)
et tu m'enleve cette horrible couleur insupportable.


C'est nickel avec mon fond vert pomme [:itm]


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 19-09-2005 à 11:33:13    

Array.push :o


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 19-09-2005 à 14:21:50    

alors je vais faire dans l'ordre :
 
skeye : c'est peut-être moche mais ça marche nickel en PHP... (sauf que là je dois faire autrement car pas de serveur Apache sous la main...) mais ton idée semble intéressante, merci ;o)
 
Gatsusat : ok, c'est bon, donner des ordres comme ça tu te crois où? à commencer ta phrase par "déjà gnagnagna..."??? je t'enlève que dalle, si l'orange te plait pas c'est pas de ma faute :-( j'avais pas vu la balise [code], c'est mon 1er post dans le forum prog...
 
Fug@zi : oui, c'est bien cela : je veux que titre prenne successivement les valeurs animal0, animal1, animal2 de manière à rentrer ensuite les tableaux portant ces noms-là dans le tableau animaux
 
masklinn : oui, la méthode push() est pas mal, mais ça ne change rien : comment faire une fonction qui ferait push(titre) avec titre représentant les tableaux et non les titres des tableaux?
 
bon, je vais voir alors...
 
si vous avez d'autres idées... prévenez-moi ^_^

Reply

Marsh Posté le 19-09-2005 à 14:27:22    

skeye a écrit :

animaux[0] = new array();
animaux[0] = ["chat","blanc"];  
 
etc.


 
ok, nickel, ça prend moins de place et ça me supprime la boucle, ça me va bien finalement, merci

Reply

Marsh Posté le 19-09-2005 à 14:31:25    

g6k a écrit :

alors je vais faire dans l'ordre :
 
skeye : c'est peut-être moche mais ça marche nickel en PHP... (sauf que là je dois faire autrement car pas de serveur Apache sous la main...) mais ton idée semble intéressante, merci ;o)


 
Le fait que ça fonctionne dans certains langages est une hérésie.:o
Ce que tu fais est EXACTEMENT un tableau, et tu ne le stockes pas sous forme de tableau, tout ça pour être obligé de bidouiller par la suite.
Créer directement un tableau est la seule manière correcte de faire.


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 19-09-2005 à 14:49:02    

g6k a écrit :

masklinn : oui, la méthode push() est pas mal, mais ça ne change rien : comment faire une fonction qui ferait push(titre) avec titre représentant les tableaux et non les titres des tableaux?


Mais WTF [:mlc]
 
Si tu veux une association clé-value tu utilises une hashmap, pas un Array [:mlc]
 
Ptin c'est bien les PHPteux ça, avec leur array moisi qui fait tout et rien :sweat:

Message cité 1 fois
Message édité par masklinn le 19-09-2005 à 14:49:40

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 19-09-2005 à 14:49:02   

Reply

Marsh Posté le 19-09-2005 à 14:57:55    

g6k a écrit :

alors je vais faire dans l'ordre :
 
Gatsusat : ok, c'est bon, donner des ordres comme ça tu te crois où? à commencer ta phrase par "déjà gnagnagna..."??? je t'enlève que dalle, si l'orange te plait pas c'est pas de ma faute :-( j'avais pas vu la balise [code], c'est mon 1er post dans le forum prog...
 


 
J'aide les gens, et ya des gens jamais content, et quand je vois des messages comme le tiens avec du orange illisible ou je me pète les yeux, je leur dis juste de me foutre leur putain de code entre balises faites pour ca.
 
tu aurais pris du bleu ca aurait été pas plus mal.

Reply

Marsh Posté le 19-09-2005 à 15:53:14    

masklinn a écrit :

Mais WTF [:mlc]
 
Si tu veux une association clé-value tu utilises une hashmap, pas un Array [:mlc]
 
Ptin c'est bien les PHPteux ça, avec leur array moisi qui fait tout et rien :sweat:

En php, on a peut être pas des hasmap, mais pour les clé valeur, il suffit d'affecter la valeur à la clé correspondante du tableau. :D
Mais je suis d'accord avec toi, c'est pas par ce qu'on peut faire n'importe quoi dans un langage donnée qu'il faut faire n'importe quoi de la pire maniére possible. ;)

Reply

Marsh Posté le 19-09-2005 à 16:06:42    

omega2 a écrit :

En php, on a peut être pas des hasmap, mais pour les clé valeur, il suffit d'affecter la valeur à la clé correspondante du tableau. :D


C'est bien de ça que je parle en désignant "l'array moisi qui fait tout et rien" [:mlc]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 21-09-2005 à 17:22:10    

on peut faire 1000 fois plus de choses en PHP qu'en JS (open/read/write de fichier, connect à une database, des tas de fcts pour créer des images PNG, ...)...
mais bon, dans le cas présent, c'est plutôt "gloire au JS" et "PHP=shit"
moi je pose juste une question et je m'en prends plein la gueule, merci la communauté...
enfin bon, au milieu de tout ça y'avait une bonne astuce, donc merci.
et je suis d'accord que PHP est bcp trop permissif, mais bon, JS, c'est moins portable... la guerre continue on dirait...

Reply

Marsh Posté le 21-09-2005 à 17:31:02    

g6k a écrit :

on peut faire 1000 fois plus de choses en PHP qu'en JS (open/read/write de fichier, connect à une database, des tas de fcts pour créer des images PNG, ...)...
mais bon, dans le cas présent, c'est plutôt "gloire au JS" et "PHP=shit"
moi je pose juste une question et je m'en prends plein la gueule, merci la communauté...
enfin bon, au milieu de tout ça y'avait une bonne astuce, donc merci.
et je suis d'accord que PHP est bcp trop permissif, mais bon, JS, c'est moins portable... la guerre continue on dirait...


 
Mais non, faut pas le prendre comme ça.:o
Php et JS n'ont de toute manière pas du tout la même utilisation...
L'essentiel à retirer de ce topic, c'est qu'il vaut mieux remplacer ce que tu essayais de faire par un tableau, qui sera fait pour ça et nettement plus simple à utiliser.


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 21-09-2005 à 17:58:27    

g6k a écrit :

on peut faire 1000 fois plus de choses en PHP qu'en JS (open/read/write de fichier, connect à une database, des tas de fcts pour créer des images PNG, ...)...


En même temps, ils n'ont pas trop le même rôle [:petrus75]

Citation :

JS, c'est moins portable...


 :heink:  
 
Faut arrêter la drogue là :sweat:  

Citation :

la guerre continue on dirait...


Guerre? Entre PHP et JS?
 
Il n'y a jamais eu de guerre entre les deux [:mlc]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed