Page 1 sur 1

plusieurs valeurs dans une variable

Posté : 06 déc. 2019, 19:32
par Djoul
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 ;)

Re: plusieurs valeurs dans une variable

Posté : 07 déc. 2019, 10:22
par webmaster
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

Re: plusieurs valeurs dans une variable

Posté : 09 déc. 2019, 10:52
par Djoul
Ahhh super merci .... et pour vérifier si la valeur est bien dans le tableau j'utilise plutôt quoi ?
includes() ? indexOf ?

Re: plusieurs valeurs dans une variable

Posté : 09 déc. 2019, 11:07
par Djoul
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");
  }

Re: plusieurs valeurs dans une variable

Posté : 09 déc. 2019, 12:22
par Djoul
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"

Re: plusieurs valeurs dans une variable

Posté : 09 déc. 2019, 12:23
par webmaster
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>

Re: plusieurs valeurs dans une variable

Posté : 09 déc. 2019, 14:34
par Djoul
Et en plus ça fonctionne ;)

merci pour ton aide !!!!