Boucle et tableau

-
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.
Afficher la suite 

4 réponses

Messages postés
14652
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
8 novembre 2019
90
0
Merci
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'
Commenter la réponse de BunoCS
Messages postés
219
Date d'inscription
mercredi 26 octobre 2011
Statut
Membre
Dernière intervention
22 juin 2017
8
0
Merci
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.
Commenter la réponse de cgandco
Messages postés
1721
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
8 novembre 2019
49
0
Merci
bonjour

moi ce que je comprend pas c'est que tu cree le tableau presence qui ne contient rien.
Commenter la réponse de @karamel
Messages postés
268
Date d'inscription
lundi 9 janvier 2006
Statut
Membre
Dernière intervention
19 janvier 2017
2
0
Merci
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.

--
Commenter la réponse de cs_jperre