IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Boucle For et If


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur avant-vente
    Inscrit en
    Août 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur avant-vente
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2013
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Boucle For et If
    Hello a tous,

    Je bloque sur un cas relativement simple a mon avis (je suis debutant en code).
    J'ai cree une fonction JS qui va verifie si une valeur est presente dans un tableau. Le tableau resemble a cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [{\"id\":\"A\",\"type\":\"done\"},{\"id\":\"B\",\"type\":\"done\"},{\"id\":\"B\",\"type\":\"todo\"}]
    J'ai besoin de trouver l'iterance ou (id="A") et verifier si type est egal a "done" ou "todo"

    Pour cela j'ai creer une boucle for qui parse le tableau et une boucle if qui verifie les valeurs. J'aimerais savoir comment changer mon code ci-dessous pour sortir de la boucle for des que j'ai trouve une iterance qui gagne. Actuellement la fonction retourne toujours NOK, si je supprime le return="NOK"; ma fonction retourne undefined lorsque l'iterance n'est pas trouve...

    J'espere que c'est assez clair... Merci


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function check(tableau) {
     
         if (tableau== null) {
            return "";
        }
     
        for (var i = 0; i < tableau.length; i += 1) {
            if ((tableau[i].id == "A")&&(tableau[i].type == "done")) {
                return "OK";
    		}
    	return "NOK";
        }
    }

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 069
    Points : 44 675
    Points
    44 675
    Par défaut
    Bonjour,
    observe bien ton code, dans ta boucle si lors du 1st passage le if n'est pas vérifié tu retournes NOK tout de suite.

    Il te faut sortir ton return "NOK" de la boucle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        for (var i = 0; i < tableau.length; i += 1) {
            if ((tableau[i].id == "A")&&(tableau[i].type == "done")) {
                return "OK";
    	}
        }
        // parcours de la totalité du tableau sans rien trouvé
        return "NOK";

  3. #3
    Rédacteur

    Avatar de autran
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2015
    Messages
    1 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2015
    Messages : 1 241
    Points : 7 653
    Points
    7 653
    Billets dans le blog
    55
    Par défaut
    Et ta soupe de \ dans ton tableau de propriétés est syntaxiquement incorrect.
    Il faut faire tab = [{"id":"A","type":"done"},{"id":"B","type":"done"},{"id":"B","type":"todo"}];.
    Tu peux même enlever les quottes des clés ce qui donne : tab = [{id:"A",type:"done"},{id:"B",type:"done"},{id:"B",type:"todo"}];

  4. #4
    Candidat au Club
    Homme Profil pro
    Ingénieur avant-vente
    Inscrit en
    Août 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur avant-vente
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2013
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Merci beaucoup je ne sais pas trop comment j'ai rate ca desole...

    Pour ce qui est de la syntaxe de mon tableau cela vient d'une API sur laquelle j'envoie des requetes donc malheuresement c'et le format qui est renvoye.

    Merci!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Boucle for dans un script cmd
    Par nicolas.ganache dans le forum Développement
    Réponses: 4
    Dernier message: 19/07/2004, 16h07
  2. Réponses: 3
    Dernier message: 06/07/2004, 10h21
  3. [Debutant] Batch et Boucle for
    Par ludovic.fernandez dans le forum Scripts/Batch
    Réponses: 8
    Dernier message: 06/05/2004, 19h21
  4. [Swing][boucles] for, do, if .....comment faire simple?
    Par chastel dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 02/05/2004, 22h49
  5. [langage] boucle "for" modification du pas
    Par K-ZimiR dans le forum Langage
    Réponses: 4
    Dernier message: 29/04/2004, 11h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo