2017-09-07 23 views
-1

同じ行に出力するにはどうすればよいですか? 現在、それは縦リストに掲載されています。同じ行に出力 - For Loop

しかし、私はこのような行に望んでいた "LABI ..."

コードは動作します。結果を出力するだけです。簡単な解決策を提供してください。

var words ="kzahdjdnshdkjts"; 
    var letters = words.split(""); 

    var final = ""; 
    for(let letter of letters){ 

    if(letter === "z"){ 
     letter = "`"; 
    } 

    final = letter.charCodeAt(); 
    final += 1; 

    if(final === 97){ 
      final = 65; 
     }else if(final === 101){ 
      final = 69; 
     }else if(final === 105){ 
      final = 73; 
     }else if(final === 111){ 
      final = 79; 
     }else if(final === 117){ 
      final = 85; 
       } 

     final = String.fromCharCode(final); 
     console.log(final); 
     } 
+0

ループ内の文字列に追加し、ループの後に文字列...を印刷しますか? – Adriani6

答えて

1

出力をノードに追加することで、HTMLテキストとして出力することができます。

var words = "kzahdjdnshdkjts"; 
 
var letters = words.split(""); 
 

 
var final = ""; 
 
for (let letter of letters) { 
 

 
    if (letter === "z") { 
 
    letter = "`"; 
 
    } 
 

 
    final = letter.charCodeAt(); 
 
    final += 1; 
 

 
    if (final === 97) { 
 
    final = 65; 
 
    } else if (final === 101) { 
 
    final = 69; 
 
    } else if (final === 105) { 
 
    final = 73; 
 
    } else if (final === 111) { 
 
    final = 79; 
 
    } else if (final === 117) { 
 
    final = 85; 
 
    } 
 

 
    final = String.fromCharCode(final); 
 
    document.body.innerHTML += final; 
 
}

2

最初は空である(この場合finalStringで)2番目の文字列を作成し、代わりに(+=と)、それを上書きすることにを追加します。

はまた、あなたがforループのconsole.log()外を実行していることを確認する必要があります。このことができます

var words = "kzahdjdnshdkjts"; 
 
var letters = words.split(""); 
 

 
var final = ""; 
 
var finalString = ""; 
 
for (let letter of letters) { 
 

 
    if (letter === "z") { 
 
    letter = "`"; 
 
    } 
 

 
    final = letter.charCodeAt(); 
 
    final += 1; 
 

 
    if (final === 97) { 
 
    final = 65; 
 
    } else if (final === 101) { 
 
    final = 69; 
 
    } else if (final === 105) { 
 
    final = 73; 
 
    } else if (final === 111) { 
 
    final = 79; 
 
    } else if (final === 117) { 
 
    final = 85; 
 
    } 
 

 
    finalString += String.fromCharCode(final); 
 
} 
 

 
console.log(finalString);

希望を! :)

0

最初に文字を追加し、最後の文字列をコンソールに出力することができます。

var words ="kzahdjdnshdkjts"; 
 
    var letters = words.split(""); 
 

 
    var veryfinal = ""; 
 
    var final = ""; 
 
    for(let letter of letters){ 
 

 
    if(letter === "z"){ 
 
     letter = "`"; 
 
    } 
 

 
    final = letter.charCodeAt(); 
 
    final += 1; 
 

 
    if(final === 97){ 
 
      final = 65; 
 
     }else if(final === 101){ 
 
      final = 69; 
 
     }else if(final === 105){ 
 
      final = 73; 
 
     }else if(final === 111){ 
 
      final = 79; 
 
     }else if(final === 117){ 
 
      final = 85; 
 
       } 
 

 
     final = String.fromCharCode(final); 
 
     veryfinal=veryfinal + final; 
 

 
     } 
 
      console.log(veryfinal);

0

あなたがString.fromCharCode()に渡される文字コードの新しい配列に分割し、配列を.map()することができます。

var words = "kzahdjdnshdkjts"; 
 

 
console.log( 
 
    String.fromCharCode(...words.split("").map(c => { 
 
    const final = (c === "z" ? "`" : c).charCodeAt() + 1; 
 

 
    switch (final) { 
 
    case 97: return 65; 
 
    case 101: return 69; 
 
    case 105: return 73; 
 
    case 111: return 79; 
 
    case 117: return 85; 
 
    default: return final; 
 
    } 
 
    })) 
 
)

だから今は、スプレッドの構文を使用して、すべての置き換え文字コードの配列を取得しますString.fromCharCodeにのみ単一の呼び出しを、持っています。

このように、はるかに迅速かつ明確になります。

0

私はこのコードを試していないが、これはうまくいくかもしれない:(あなたのコードの最後の3行でこれを置き換えてください。)

var finalString = ""; 
final = String.fromCharCode(final); 
    finalString.concat(final) 
} 
console.log(finalString); 

あなたは、ループ内の文字列を連結し、ループの外にそれを印刷する必要があります。