Compteur à la fin d'une chaîne de caractère

Pour toutes les discussions javascript, jQuery et autres frameworks
Répondre
Antoine72
Messages : 2
Enregistré le : 08 janv. 2020, 08:40

Compteur à la fin d'une chaîne de caractère

Message par Antoine72 » 08 janv. 2020, 08:50

Bonjour,

Je souhaiterais réaliser un compteur qui réalise + 1 à chaque "nouvelle" création d'un nom cependant ça me double le résultat et ça ne s'additionne pas.

Voici mon code :

Code : Tout sélectionner

var compteur = 0;
  var name = '__SESSION-0';
  
  for (compteur = 1 ;; compteur++)
  {  
    console.log(name);
    
	name += compteur;
    console.log(name);
    
	name += compteur;
    console.log(name);
    
    if(compteur > 10) break;
 }
Résultat :

Code : Tout sélectionner

> "__SESSION-0"
> "__SESSION-01"
> "__SESSION-011"
> "__SESSION-011"
> "__SESSION-0112"
> "__SESSION-01122"
> "__SESSION-01122"
> "__SESSION-011223"
> "__SESSION-0112233"
> "__SESSION-0112233"
> "__SESSION-01122334"
> "__SESSION-011223344"
> "__SESSION-011223344"
> "__SESSION-0112233445"
> "__SESSION-01122334455"
> "__SESSION-01122334455"
> "__SESSION-011223344556"
> "__SESSION-0112233445566"
> "__SESSION-0112233445566"
> "__SESSION-01122334455667"
> "__SESSION-011223344556677"
> "__SESSION-011223344556677"
> "__SESSION-0112233445566778"
> "__SESSION-01122334455667788"
> "__SESSION-01122334455667788"
> "__SESSION-011223344556677889"
> "__SESSION-0112233445566778899"
> "__SESSION-0112233445566778899"
> "__SESSION-011223344556677889910"
> "__SESSION-01122334455667788991010"
> "__SESSION-01122334455667788991010"
> "__SESSION-0112233445566778899101011"
> "__SESSION-011223344556677889910101111"
Cependant je souhaiterais que le résultat soit : __SESSION-01 | __SESSION-02 | __SESSION-03 ...

Merci d'avance pour votre aide !

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

Re: Compteur à la fin d'une chaîne de caractère

Message par webmaster » 08 janv. 2020, 11:16

Bonjour

C'est un problème classique en JS
Additionner une chaine et un nombre retourne une chaine concaténée
"1" + 1 retourne "11" et pas 2

Il faut donc penser à convertir en nombre les parties à ajouter avec parseInt
https://www.toutjavascript.com/referenc ... rseint.php

Ce fonctionnement se produit souvent sur les saisies de formulaires qui sont sous forme texte.
TJS : 20 ans et mon livre Tout JavaScript chez Dunod
https://www.toutjavascript.com/livre/index.php

Antoine72
Messages : 2
Enregistré le : 08 janv. 2020, 08:40

Re: Compteur à la fin d'une chaîne de caractère

Message par Antoine72 » 08 janv. 2020, 13:40

Merci de votre réponse mais au final j'ai trouvé une solution beaucoup plus simple et fonctionnel que celle de base.

Code :

Code : Tout sélectionner

   var compteur = 0;
 
while(compteur < 10)
{    
 	var name = '__SESSION-0'; 
    
	compteur++;
	name += compteur;
        console.log(name);
}
Résultat :

Code : Tout sélectionner

> "__SESSION-01"
> "__SESSION-02"
> "__SESSION-03"
> "__SESSION-04"
> "__SESSION-05"
> "__SESSION-06"
> "__SESSION-07"
> "__SESSION-08"
> "__SESSION-09"
> "__SESSION-010"

Répondre