2017-02-08 9 views
0

JavaScriptを学んでいて、なぜこの関数がうまくいかないのか理解したいと思っています。私がここで間違っていることと、それをどのように働かせるかを説明してください。私は本当にそれをそのまま維持したいので、私が間違って正しいことを理解することができます。数字を逆転させるJavaScript関数を書いてみたい

var input = prompt("Write a number"); 

function around() { 
    for (var x = 0; x < input.lenght ; x++) { 
     console.log(input.reverse()); 
    } 
} 

around(); 

答えて

0

あなたの問題は、入力文字列で、文字列のプロトタイプは何reverseメソッドを持っていないということです。これを達成するには、input.split('').reverse().join('')のような何かをする必要があります。 split('')は、文字列を文字の配列に変換します。 reverse()は、配列を置き換える配列メソッドです。 join('')は、配列の各要素を文字列に結合し、各配列要素(この場合は空の文字列)の間に引数を追加します。

+0

:) – randseed1724

+0

@AlejandroJimenezハッピーを非常@JordanFrankfurtありがとうどうもありがとう、あなたはすべての良い答えを与えたが、@JordanFrankfurtは例なし説明答えを与えました。それは私が探していたものです。 – JordanFrankfurt

2

これはトリックを行う必要があります。文字列は逆()メソッドを持っていませんが、配列が行います。ここ

function around() { 
    var input = prompt("Write a number"); 

    if (!parseInt(input)) { 
     return null; // Or do something with bad input 
    } 

    return parseInt(input.split('').reverse().join('')); 
} 
1

私はあなたの関数を読んだとき、nがあなたの文字列の長さであるn回反転文字列を印刷するように思えます。いずれにしても、文字列を逆順にしようとしているように見えるので、次に進みましょう。

文字列を逆にするためにJavaScriptに組み込まれている「逆引き」機能はありません。しかし、の配列(.reverse()を使用して)を逆にする方法があります。文字列を非常に簡単に配列に分割することができます。つまり、input.split( "")を使用します。その後、配列を逆にして、その配列を.join( "")で呼び出すことで、配列を再び文字列に戻すことができます。

しかし、あなたが何も言わなければ、あなたの機能が何をしてほしいかは分かりません。

+0

を助けるためにあなたに – randseed1724

1

promptから返されるのはString型で、Array型にはreverse()メソッドが使用されます。

文字列を逆順にする最も簡単な方法は、文字列に分割して逆にし、文字列を文字列に戻してから、必要に応じて数値に解析することです。

var input = prompt("Write a number"); 
 

 
function around() { 
 
    input = parseInt(input.split('').reverse().join('')); 
 
    console.log(input); 
 
} 
 

 
around();

関連する問題