NaN pourquoi?
TicVero
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
Kopros Messages postés 595 Date d'inscription Statut Membre Dernière intervention -
Kopros Messages postés 595 Date d'inscription Statut Membre Dernière intervention -
Je suis débutante en JS et j'obtiens des réponses NaN à ce programme:
var l, m, n, mot
var p = new Array
var q = new Array
var r = new Array
p[1] == "par"
p[2] == "bis"
p[3] == "sot"
p[4] == "car"
q[1] == "is"
q[2] == "ul"
q[3] == "or"
q[4] == "em"
r[1] == "iment"
r[2] == "er"
r[3] == "al"
r[4] == "ou"
for(l=1;l<=4;l=l+1)
{
for(m=1; m<=4; m=m+1)
{
for(n=1; n<=4; n=n+1)
{
mot = p[l]+q[m]+r[n]
document.write("",mot,"<br/>")
}
}
}
Quelqu'un sait-il pourquoi?
Merci.
var l, m, n, mot
var p = new Array
var q = new Array
var r = new Array
p[1] == "par"
p[2] == "bis"
p[3] == "sot"
p[4] == "car"
q[1] == "is"
q[2] == "ul"
q[3] == "or"
q[4] == "em"
r[1] == "iment"
r[2] == "er"
r[3] == "al"
r[4] == "ou"
for(l=1;l<=4;l=l+1)
{
for(m=1; m<=4; m=m+1)
{
for(n=1; n<=4; n=n+1)
{
mot = p[l]+q[m]+r[n]
document.write("",mot,"<br/>")
}
}
}
Quelqu'un sait-il pourquoi?
Merci.
1 réponse
Le double égal (==) est un opérateur conditionnel, qui renvoie true ou false. On s'en sert surtout pour les if.
C'est à dire que si tu écris p[1] == "par" ça revient à écrire true ou false, et ya rien d'autre, donc p[1] reste non défini.
Il faut mettre le signe égal une seule fois pour assigner une valeur à une variable.
Note que c'est plus propre si chaque ligne en ponctuée d'un point virgule (;) sauf les for et les accolades.
Il faut aussi que les arrays débutent à 0, sinon à chaque t'as le 1er emplacement qui reste tout le temps vide, mais qui existe quand même.
C'est à dire que si tu écris p[1] == "par" ça revient à écrire true ou false, et ya rien d'autre, donc p[1] reste non défini.
Il faut mettre le signe égal une seule fois pour assigner une valeur à une variable.
Note que c'est plus propre si chaque ligne en ponctuée d'un point virgule (;) sauf les for et les accolades.
Il faut aussi que les arrays débutent à 0, sinon à chaque t'as le 1er emplacement qui reste tout le temps vide, mais qui existe quand même.