NaN pourquoi?

Fermé
TicVero Messages postés 1 Date d'inscription mercredi 10 décembre 2014 Statut Membre Dernière intervention 10 décembre 2014 - 10 déc. 2014 à 16:01
Kopros Messages postés 597 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 3 février 2020 - 23 déc. 2014 à 19:00
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.

1 réponse

Kopros Messages postés 597 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 3 février 2020 89
Modifié par Kopros le 23/12/2014 à 19:01
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.
0