2015-08-24 2 views
0

J'essaie d'inverser les mots impairs dans la phrase. Cela fonctionne bien. Mais son appendice indéfini à l'avant.Inverser les mots impairs dans la phrase

var str = "get busy living or get busy dying."; 
var newstr = str.split(" "), result; 

for(i=0;i<newstr.length;i++){ 
    if(i%2 !== 0){    
     result += newstr[i].split("").reverse().join(""); 
     result += ' '; 
    } else {    
     result += newstr[i]; 
     result += ' '; 
    } 
} 

sortie est

undefinedget ysub living ro get ysub dying. 

Quelqu'un peut me montrer où je vais mal !!!!!

Répondre

5

Vous n'initialisez pas result, donc le premier += ajoute quelque chose à une valeur indéfinie.

Il suffit de déclarer et initialiser result:

var result = ""; 
+0

Ooops !!!! Merci Pointy :) – ShaMoh

0

Vous pouvez aussi le faire de façon plus concise:

var str = "get busy living or get busy dying."; 
 
var result = str.split(" ").map(function(word, i) { 
 
    return i % 2 == 0 ? word : word.split("").reverse().join(""); }).join(" "); 
 

 
alert(result);

0

String str = "Progamming pour inverser le mot étrange dans la phrase "; Chaîne s [] = str.split ("");

String res=" "; 
    for(int i=0;i<=s.length-1;i++){ 
     if(i%2==0){ 
      res +=s[i]+" "; 
     }else{ 
      StringBuffer sb=new StringBuffer(s[i]); 
      StringBuffer sa=sb.reverse(); 
      res +=sa.toString()+" "; 
     } 
    }System.out.println(res);