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 :

Switch Case multiple en JS


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    apt
    apt est déconnecté
    Membre éclairé
    Inscrit en
    Mai 2002
    Messages
    867
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 867
    Par défaut Switch Case multiple en JS
    Bonjour à tous,

    Comment puis-je écrire de multiples cas sur une même ligne ou dans un ensemble, du code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    		switch(m) {
    			case in [1,4,7,10,13,16,19,22,25,28] :
    			// code block
    			break;
     
    			case in [2,5,8,11,14,17,20,23,26,29]:
    			// code block
    			break;
     
    			case in [3,6,9,12,15,18,21,24,27,30]:
    			// code block
    			break;
     
    			default:
    			// code block
    		}
    Merci

  2. #2
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 507
    Par défaut
    Bonjour,

    Le switch n'est pas le bon choix, un map peut être oui :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    var m=11;
    arrays=[
       [1,4,7,10,13,16,19,22,25,28],
       [2,5,8,11,14,17,20,23,26,29], 
       [3,6,9,12,15,18,21,24,27,30]
    ];
     
    arrays.map(function(elem,i){
       if(elem.indexOf(m)>=0)
          console.log(m+" trouvé dans t["+i+"] à l'index :"+elem.indexOf(m));
    });
    Il y'a surement mieux...

  3. #3
    apt
    apt est déconnecté
    Membre éclairé
    Inscrit en
    Mai 2002
    Messages
    867
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 867
    Par défaut
    Bonjour toufik,

    J'ai essayé ce code, mais ça ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    arrays = [
        [1, 4, 7, 10, 13, 16, 19, 22, 25, 28],
        [2, 5, 8, 11, 14, 17, 20, 23, 26, 29],
        [3, 6, 9, 12, 15, 18, 21, 24, 27, 30]
    ];
     
    for (var m = 1; m = 10; m++) {
     
        arrays.map(function(elem, i) {
            if (elem.indexOf(m) >= 0) {
                switch (i) {
                    case 0:
                        document.write("Ligne 0");
                        break;
                    case 1:
                        document.write("Ligne 1");
                        break;
                    case 2:
                        document.write("Ligne 3");
                        break;
                    default:
                }
            }
        });
    }

  4. #4
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 507
    Par défaut
    Mais pourquoi tu insistes à utiliser switch, elle ne te servira à rien de tout, puis ton dernier code ne fonctionne pas parce que tu as oublié l'opérateur inférieur à < dans la boucle m <= 10 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    var arrays = [
        [1, 4, 7, 10, 13, 16, 19, 22, 25, 28],
        [2, 5, 8, 11, 14, 17, 20, 23, 26, 29],
        [3, 6, 9, 12, 15, 18, 21, 24, 27, 30]
    ];
    for (var m = 1; m <= 10; m++) {
        arrays.map(function(elem, i) {
        	if (elem.indexOf(m) >= 0) {
    		document.write("Ligne "+i);
            }
        });
    }

  5. #5
    apt
    apt est déconnecté
    Membre éclairé
    Inscrit en
    Mai 2002
    Messages
    867
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 867
    Par défaut
    Merci pour ta réponse

    Mais pourquoi tu insistes à utiliser switch
    Parce que j'aimerais, pour chaque cas de (i), mettre un traitement précis.

    Voici, la fonction que j'essaye de coder :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    function calcInArray(){
     
    	var cle ="987654";
    	var tab = [];
     
    	for (var m=0; m <= cle.lenght; m++){
     
    		switch(m) {
    			case in [1,4,7,10,13,16,19,22,25,28] :
    			// code block
    			tab[m][0] = "a";
    			tab[m][1] = "a";
    			break;
     
    			case in [2,5,8,11,14,17,20,23,26,29]:
    			// code block
    			tab[m][0] = "b";
    			tab[m][1] = "b";
    			tab[m][2] = "b";
    			break;
     
    			case in [3,6,9,12,15,18,21,24,27,30]:
    			// code block
    			tab[m][0] = "c";
    			tab[m][1] = "c";
    			break;
     
    			default:
    			// code block
    		}
    	}
    }

  6. #6
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 507
    Par défaut
    D'accord, et à quoi sert la variable var cle ="987654"; ?

    tu veux vérifier l'existence et l'index de chaque chiffre de cle dans les trois tableaux ?

  7. #7
    Membre Expert
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 494
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 494
    Par défaut
    un truc comme ca ?
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    function calcInArray(){
    	const cle = "987654";
    	const tab = [];
     
    	cle.split('').forEach((m, i) => {
            if([1,4,7,10,13,16,19,22,25,28].includes(i)) {
                tab.push(['a', 'a']);
            } else if([2,5,8,11,14,17,20,23,26,29].includes(i)) {
                tab.push(['b', 'b', 'b']);
            } else {
                tab.push(['c', 'c']);
            }
        });
    	console.log(tab);
    }
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

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

Discussions similaires

  1. [Language]Probleme de switch case
    Par nana1 dans le forum Langage
    Réponses: 20
    Dernier message: 17/11/2005, 00h49
  2. switch case pour deux variable en meme temps
    Par petitours dans le forum C
    Réponses: 3
    Dernier message: 06/11/2005, 19h20
  3. [Tableaux] Problème avec Switch case
    Par philippef dans le forum Langage
    Réponses: 4
    Dernier message: 07/09/2005, 16h37
  4. probleme gestion condition switch - case
    Par DarkMax dans le forum Langage
    Réponses: 5
    Dernier message: 07/09/2005, 14h25
  5. [Language] aide sur les switch case
    Par pouss dans le forum Langage
    Réponses: 3
    Dernier message: 05/04/2005, 11h34

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