Switch Case multiple en JS ?

Pour toutes les discussions javascript, jQuery et autres frameworks
Répondre
apt
Messages : 3
Enregistré le : 05 nov. 2020, 20:31

Switch Case multiple en JS ?

Message par apt » 05 nov. 2020, 20:43

Bonjour à tous,

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

Code : Tout sélectionner

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
		}
	}
}
Merci d'avance.

Avatar du membre
webmaster
Administrateur du site
Messages : 396
Enregistré le : 28 févr. 2017, 15:19

Re: Switch Case multiple en JS ?

Message par webmaster » 06 nov. 2020, 10:22

Bonjour

Avec switch, il faudrait ecrire :

Code : Tout sélectionner

switch (m) {
  case 1:
  case 4:  
  case 7:
    text = "Soon it is Weekend";
    break;
  case 8:
    ...
}
Ce n'est pas très lisible.

On peut utiliser des suites de if :

Code : Tout sélectionner

if (condition) {

} else if (condition2) {

} else {

}
TJS : 20 ans et mon livre Tout JavaScript chez Dunod
https://www.toutjavascript.com/livre/index.php

apt
Messages : 3
Enregistré le : 05 nov. 2020, 20:31

Re: Switch Case multiple en JS ?

Message par apt » 06 nov. 2020, 11:52

Bonjour webmaster,

Des Cases "empilés", il y en aura beaucoup pour chaque ensemble de 10 valeurs ... :|

Quant à if, je ne vois pas grand-chose :?

N'y aura-t-il pas un équivalent de :

Code : Tout sélectionner

case in [1,4,7,10,13,16,19,22,25,28] :
:idea:

Avatar du membre
webmaster
Administrateur du site
Messages : 396
Enregistré le : 28 févr. 2017, 15:19

Re: Switch Case multiple en JS ?

Message par webmaster » 08 nov. 2020, 09:35

Bonjour,

Il faut utiliser un if avec un includes() sur un tableau

Code : Tout sélectionner

<script>
var valeur=10;
if ([1, 4, 10, 11, 13].includes(valeur)) {
  console.log("Test réussi");
}
</script>
Pour la doc sur includes(), que j'ai complété avec cet exemple
https://www.toutjavascript.com/referenc ... cludes.php
TJS : 20 ans et mon livre Tout JavaScript chez Dunod
https://www.toutjavascript.com/livre/index.php

apt
Messages : 3
Enregistré le : 05 nov. 2020, 20:31

Re: Switch Case multiple en JS ?

Message par apt » 08 nov. 2020, 22:29

Bonjour webmaster,

Merci pour l'exemple. Je vais essayé de l'adapter :)

Répondre