plusieurs valeurs dans une variable

Pour toutes les discussions javascript, jQuery et autres frameworks
Répondre
Djoul
Messages : 5
Enregistré le : 06 déc. 2019, 19:24

plusieurs valeurs dans une variable

Message par Djoul » 06 déc. 2019, 19:32

Bonjour,

Je suis nouveau dans le JS. Je réalise un formulaire et récupère les données d'un champs via un getElementById.

var toto = document.getElementById("idform").value;

De ces données, je récupère les 2 premiers caractères grâce à un substr

var recup = toto.substr(0,2);

Bon jusque là ok

J'aimerai créer une variable ou autre avec multiples valeurs :
ex : var toto = 21, 25 , 27

puis le but est de comparer recup avec toto.

Si toto est compris dans ces valeurs alors ....
Si toto c'est pas compris dans ces valeurs alors ...

Voilà. Merci d'avance pour vos réponses ;)

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

Re: plusieurs valeurs dans une variable

Message par webmaster » 07 déc. 2019, 10:22

Bonjour

Il faut utiliser les tableaux qui sont justement prévus pour ce genre de traitement
Ici l'objet Array :
https://www.toutjavascript.com/reference/ref-array.php

Ici le tuto pour tout comprendre :
https://www.toutjavascript.com/savoir/savoir09.php3
TJS : 25 ans et mon livre Tout JavaScript chez Dunod
https://www.toutjavascript.com/livre/index.php

Djoul
Messages : 5
Enregistré le : 06 déc. 2019, 19:24

Re: plusieurs valeurs dans une variable

Message par Djoul » 09 déc. 2019, 10:52

Ahhh super merci .... et pour vérifier si la valeur est bien dans le tableau j'utilise plutôt quoi ?
includes() ? indexOf ?

Djoul
Messages : 5
Enregistré le : 06 déc. 2019, 19:24

Re: plusieurs valeurs dans une variable

Message par Djoul » 09 déc. 2019, 11:07

Voici ce que j'ai pour le moment (et qui ne fonctionne pas) :

Code : Tout sélectionner

 	var recup = document.getElementById("id").value; // on récupère un nombre
 	var reduc = recup.substr(0,2); //on garde les deux premiers chiffres
 	
 	var num = new Array(21, 25, 39, 58, 70, 71, 89); // Tableau de valeurs 
 	 	
 
  if (num.includes(reduc)) {  // c'est là que ca ne doit pas fonctionner .... Je suis surement loin de la réalité d'ailleurs :/
   alert (reduc);
  }
  else {
   alert("no");
  }

Djoul
Messages : 5
Enregistré le : 06 déc. 2019, 19:24

Re: plusieurs valeurs dans une variable

Message par Djoul » 09 déc. 2019, 12:22

J'ai tenté

Code : Tout sélectionner


 	var recup = document.getElementById("input-2").value;
 	var reduc = recup.substr(0,2);
 	
 	var num = new Array(21, 25, 39, 58, 70, 71, 89);
 	 
  if (num.indexOf(reduc)) {
   alert (reduc);
  }
  else {
   alert("no");
  }


Mais même si je saisi un nombre différent de ceux du tableau, je n'ai QUE l'alert réduc alors que je devrais avoir l'alert "no"

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

Re: plusieurs valeurs dans une variable

Message par webmaster » 09 déc. 2019, 12:23

21 et "21" sont deux données différentes.
Il faut soit convertir en entier, soit utiliser les chaines.

Je ne connaissais pas "includes". Je vais l'ajouter.

Voici la solution

Code : Tout sélectionner

<script>
 	var recup = "21"; // on récupère un nombre
	var reduc = recup.substr(0,2); //on garde les deux premiers chiffres
	
	var num = new Array("21", "25", "39", "58", "70", "71", "89"); // Tableau de valeurs 

if (num.includes(reduc)) {  // c'est là que ca ne doit pas fonctionner .... Je suis surement loin de la réalité d'ailleurs :/
	alert (reduc);
}
else {
	alert("no");
}
</script>
TJS : 25 ans et mon livre Tout JavaScript chez Dunod
https://www.toutjavascript.com/livre/index.php

Djoul
Messages : 5
Enregistré le : 06 déc. 2019, 19:24

Re: plusieurs valeurs dans une variable

Message par Djoul » 09 déc. 2019, 14:34

Et en plus ça fonctionne ;)

merci pour ton aide !!!!

Répondre