Boucle et tableau

Jerouuu - Modifié par Whismeril le 18/05/2015 à 10:21
cs_jperre Messages postés 268 Date d'inscription lundi 9 janvier 2006 Statut Membre Dernière intervention 19 janvier 2017 - 2 oct. 2015 à 21:10
Bonjour,

J'ai un problème, je suis un débutant en javascript et j'aimerai réussir à faire fonctionner ce petit script. Mais je n'y arrive pas. En fait j'ai un tableau vide et une boucle qui vérifie dans ce tableau si une valeur y est et sinon l'ajoute. ma boucle vérifie bien car j'ai testé en pré remplissant le tableau mais je n'arrive pas a ajouter les valeurs je ne sais pas pourquoi ça marche pas .
Si quelqu'un pouvait me donner un petit coup de main :) voici les sources :
var presence= new Array();    
                         var j=0;
                         var isPresent=false;  
                         
                         while(j<presence.length)
                         {
                          if(presence[j] == dataTab[i][6])
                          { 
                           isPresent=true;
                          }
                          j = j+1;
                         }
                         
                         j=0;


EDIT: Ajout de la coloration syntaxique.

4 réponses

BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 103
18 mai 2015 à 11:11
Hello,

Ta boucle vérifie bien qu'une valeur est présente, oui, mais tu n'ajoutes pas de valeur dans le cas contraire. Il te faut une condition 'else'
0
cgandco Messages postés 219 Date d'inscription mercredi 26 octobre 2011 Statut Membre Dernière intervention 22 juin 2017 9
16 juin 2015 à 13:42
Bonjour,

comme ça

var presence = new Array();
        var j = 0;
        var isPresent = false;

        while (j < presence.length && !isPresent )
        {
            if (presence[j] == dataTab[i][6])
            {
                isPresent = true;
            }
            j = j + 1;
        }
        j = 0;
        if (!isPresent)
        {
            presence[presence.length] = dataTab[i][6];
        }



avec le
&& !isPresent


pour ne plus tester si tu as trouvé la valeur.

Bonne journée.
0
@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 153
16 juin 2015 à 16:23
bonjour

moi ce que je comprend pas c'est que tu cree le tableau presence qui ne contient rien.
0
cs_jperre Messages postés 268 Date d'inscription lundi 9 janvier 2006 Statut Membre Dernière intervention 19 janvier 2017 2
2 oct. 2015 à 21:10
Du fait que vous créez un tableau vide, il est évident qu'il n'y a rien à l'intérieur. Donc:
- presence.length = 0.
- j = 0

while (j < presence.length && !isPresent)

peut se traduire:

while (0 < 0 && false)

0 <0 renverra toujours false donc la boucle ne démarrera jamais.

--
0
Rejoignez-nous