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 :

Inversion lettres - undefined


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Femme Profil pro
    Développeur Web
    Inscrit en
    Février 2004
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2004
    Messages : 282
    Par défaut Inversion lettres - undefined
    Fonction qui inverse les lettres des mots d'une chaine de caractère passée en paramètre. La chaine ‘un deux trois’ devient ‘nu xued siort’

    Ce que j'ai fait et comme suit mais je ne sais pas pourquoi i m'ajoute undefined

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    function inverseLettres(chaine)
    			{
    				var mot="";	
     
    				chaine=chaine.split(" ");
    				for (var i=0; i<chaine.length; i++){
    					  	for(var j=chaine[i].length; j>=0; j--){
    					 			mot+=chaine[i][j];
    					  	}
    					}
    					 alert(mot);
    			}
    mais le résultat affiché est comme suit : undefinednuundefinedxued

  2. #2
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut
    Le dernier élément est à la position array.length -1 et non array.length
    Par exemple "hello"[0] === "h" et "hello"[4] === "o"

    Sinon tu peux utiliser la méthode Array.reverse() pour résoudre simplement ton exercice:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function inverseLettres(chaine)
    {
    	return chaine.split("").reverse().join("").split(" ").reverse().join(" ");
    }
    Ou encore les expressions régulières :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function inverseLettres(chaine)
    {
    	return chaine.replace(/([^\s]+)/g, function(mot){ return mot.split("").reverse().join("") });
    }

  3. #3
    Membre éclairé
    Femme Profil pro
    Développeur Web
    Inscrit en
    Février 2004
    Messages
    282
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2004
    Messages : 282
    Par défaut
    Merci c'est intèressant comme solution mais sans utiliser les expressions régulière.

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

Discussions similaires

  1. inverser des lettres et des chiffres
    Par hacker59 dans le forum VB.NET
    Réponses: 2
    Dernier message: 02/09/2013, 14h09
  2. Inversion des lettres d'un mot
    Par raphy20 dans le forum C++
    Réponses: 9
    Dernier message: 05/03/2012, 07h33
  3. [Débutant] Convertion lettres vers chiffres et inversement
    Par Clarinette95 dans le forum MATLAB
    Réponses: 20
    Dernier message: 30/06/2011, 20h26
  4. Réponses: 3
    Dernier message: 18/06/2007, 16h34
  5. [Lecteur] Lettre du lecteur de CD
    Par petit scarabée dans le forum Installation, Déploiement et Sécurité
    Réponses: 6
    Dernier message: 05/09/2002, 18h47

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