A voir également:
- Debuggage JavaScript
- Telecharger javascript - Télécharger - Langages
- Javascript void 0 c'est quoi ✓ - Forum Réseaux sociaux
- Javascript echo ✓ - Forum PHP
- Exercice calculatrice en javascript ✓ - Forum Javascript
- Retour à la ligne javascript ✓ - Forum Javascript
3 réponses
Marden
Messages postés
1072
Date d'inscription
dimanche 11 février 2001
Statut
Membre
Dernière intervention
29 janvier 2006
208
24 nov. 2003 à 20:04
24 nov. 2003 à 20:04
En JS, l'instruction :
crée un tableau unidimensionnel à 2 éléments contenant les valeurs 15 et 4.
Dans ton cas, il convient de faire, par exemple :
1ère solution :
puis coder les affectations.
2ème solution :
var prog = new Array(15,4) ;
crée un tableau unidimensionnel à 2 éléments contenant les valeurs 15 et 4.
Dans ton cas, il convient de faire, par exemple :
1ère solution :
var prog = new Array() ; for ( i 0 ; i < 15 ; i++ ) { prog[i] = new Array() ; // ou new Array(4) ; }
puis coder les affectations.
2ème solution :
var prog = new Array() ; prog[0] = new Array("q0","I"," ","q1") ; prog[1] = new Array("q1"," ",">","q2") ; .......... prog[14] new Array("q9"," ",">","q10") ;
PhP
Messages postés
1767
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
606
24 nov. 2003 à 20:17
24 nov. 2003 à 20:17
Bsr Snnnnnnnnnnnnaaaaaaaaaaaaake,
tssss, tssss ben vi c'est normal !
Lorsque tu déclares var prog = new Array(15,4); tu ne déclares pas un tableau à 2 dimensions 15x4 mais un tableau avec 2 éléments : 15 et 4
C'est comme si tu écrivais :
var prog = new Array(2);
prog[0]=15;
prog[1]=2;
En fait si tu indiques autre chose qu'un simple chiffre JS affecte directement les valeurs dans un tableau monodimensionnel.
Donc forcement dès que tu utilises un index supérieur à 1 ça plante !
Ze solution :
var prog = new Array(15);
for (i=0; i< prog.length; i++) prog[i]=new Array(4);
En prime une petite fonction super utile que j'ai trouvé dans la doc JavaScript Netscape pour voir le contenu d'un objet (je l'utilise tout le temps) :
function show_props(obj, objName)
{
var result = ""
for (var i in obj)
{
result += objName + "." + i + " = " + obj[i] + "\n"
}
return result
}
Essai
alert(show_props(prog,"prog"));
après tes initialisations tu verras c'est magique pour le débogage !
Heu évite qd même des choses comme :
alert(show_props(document,"document")); ;-)
@+
PhP [Push the button,Don't push the
. button,Trip the station,Change the channel]
tssss, tssss ben vi c'est normal !
Lorsque tu déclares var prog = new Array(15,4); tu ne déclares pas un tableau à 2 dimensions 15x4 mais un tableau avec 2 éléments : 15 et 4
C'est comme si tu écrivais :
var prog = new Array(2);
prog[0]=15;
prog[1]=2;
En fait si tu indiques autre chose qu'un simple chiffre JS affecte directement les valeurs dans un tableau monodimensionnel.
Donc forcement dès que tu utilises un index supérieur à 1 ça plante !
Ze solution :
var prog = new Array(15);
for (i=0; i< prog.length; i++) prog[i]=new Array(4);
En prime une petite fonction super utile que j'ai trouvé dans la doc JavaScript Netscape pour voir le contenu d'un objet (je l'utilise tout le temps) :
function show_props(obj, objName)
{
var result = ""
for (var i in obj)
{
result += objName + "." + i + " = " + obj[i] + "\n"
}
return result
}
Essai
alert(show_props(prog,"prog"));
après tes initialisations tu verras c'est magique pour le débogage !
Heu évite qd même des choses comme :
alert(show_props(document,"document")); ;-)
@+
PhP [Push the button,Don't push the
. button,Trip the station,Change the channel]
Hello,
Super merci, ça marche nickel. Le temps de bouffer et j'ai ma réponse... vive le net ! : )
En fait il me semblait que le new Array(15)(4) ne créait un tableau à 2 éléments qu'en JavaScript1.2, mais pas en 1.1 ni en 1.3.
Je ne sais pas où j'ai vu ça mais ça devait être une connerie.
Bon en tout cas merci.
A+
Super merci, ça marche nickel. Le temps de bouffer et j'ai ma réponse... vive le net ! : )
En fait il me semblait que le new Array(15)(4) ne créait un tableau à 2 éléments qu'en JavaScript1.2, mais pas en 1.1 ni en 1.3.
Je ne sais pas où j'ai vu ça mais ça devait être une connerie.
Bon en tout cas merci.
A+