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 :

Bug dans une condition if


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    février 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2008
    Messages : 13
    Points : 12
    Points
    12
    Par défaut Bug dans une condition if
    Bonjour à tous,

    J'ai un bug, je ne comprends pas pourquoi ce code me fait bugger la page, y voyez-vous une erreur ?

    Merci pour votre aide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
        Txt = null;
        for(var j=0; j < SelectionQuartier.length; j++) { 
          if(j==0){
            Txt = j + ":" + SelectionQuartier[j]; 
          } 
          else{ 
            Txt = Txt + ";" + j + ":" + SelectionQuartier[j]; 
               }

  2. #2
    Rédacteur/Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2004
    Messages
    5 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : décembre 2004
    Messages : 5 047
    Points : 11 856
    Points
    11 856
    Par défaut
    Salut

    Essais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        Txt = null;
        //for(var j=0; j < SelectionQuartier.length; j++) { 
    	for (let j = 0, jMax = SelectionQuartier.length; j < jMax; j++) {
    		if(j==0){
    			Txt = j + ":" + SelectionQuartier[j]; 
    			}else{  
    			Txt = Txt + ";" + j + ":" + SelectionQuartier[j]; 
    		}
    	}
    De toute façon il te manquait le dernier }
    ProgElecT
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    février 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2008
    Messages : 13
    Points : 12
    Points
    12
    Par défaut
    Merci, ça marche !

    Ce "let" fonctionne avec tous les navigateurs ?

  4. #4
    Rédacteur/Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    décembre 2004
    Messages
    5 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : décembre 2004
    Messages : 5 047
    Points : 11 856
    Points
    11 856
    Par défaut
    Re

    pour moi fonctionne sous FireFox 62.0.2 (64 bits), Ie 11.285, Edge 17.17134, Chrome 69.0.3497.100, Opera 55.0
    ProgElecT
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.

  5. #5
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    août 2003
    Messages
    3 092
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : août 2003
    Messages : 3 092
    Points : 4 085
    Points
    4 085
    Par défaut
    Et tu peux même écrire:
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    let Txt;
    SelectionQuartier.forEach((v,i)=>{Txt= i==0 ? i + ":" + v : Txt + ";" + i + ":" + v)})

  6. #6
    Modérateur

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

    Informations forums :
    Inscription : janvier 2011
    Messages : 14 127
    Points : 34 937
    Points
    34 937
    Par défaut
    Bonjour,
    pour répondre à
    Citation Envoyé par yves51
    Ce "let" fonctionne avec tous les navigateurs ?
    Citation Envoyé par ProgElecT
    pour moi fonctionne sous FireFox 62.0.2 (64 bits), Ie 11.285, Edge 17.17134, Chrome 69.0.3497.100, Opera 55.0
    pour IE11, voir remarque faite dans la discussion : Affecter un événement dans une boucle, dans le cas de cette utilisation il n'y aura donc pas de soucis.


    pour répondre à :
    Citation Envoyé par javatwister
    Et tu peux même écrire:
    Attention, IE11 ne prend pas en compte les arrow function.


    On peut également faire plus « élégant », mais cela n'est que mon avis personnel à moi même
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    const tab = ["Lundi", "Mardi", "Mercredi"];
    const text = [];
    tab.forEach(function (el, ind) {
        text.push(ind + ":" + el);
    });
    console.log(text.join(";"));

  7. #7
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    août 2003
    Messages
    3 092
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : août 2003
    Messages : 3 092
    Points : 4 085
    Points
    4 085
    Par défaut
    j'avoue: on devrait ouvrir un sujet sur le concept d'élégance en javascript

    Mais tu as raison, le tableau rend plus légitime la variable text, qu'on peut dès lors utiliser hors boucle et sans la fausse condition qui ne servait qu'à l'initialiser;

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

Discussions similaires

  1. Bug incompréhensible dans une condition while
    Par Runawaycl dans le forum Scilab
    Réponses: 2
    Dernier message: 15/05/2014, 22h10
  2. Problème dans une condition
    Par gibet_b dans le forum Linux
    Réponses: 4
    Dernier message: 31/05/2005, 11h19
  3. Fonction MAX dans une condition WHERE
    Par borgfabr dans le forum Langage SQL
    Réponses: 4
    Dernier message: 12/10/2004, 17h06
  4. Réponses: 2
    Dernier message: 24/06/2004, 10h13
  5. bug dans une base Access
    Par bizouard dans le forum Access
    Réponses: 5
    Dernier message: 29/12/2003, 13h41

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