0

クラスプロジェクトの場合、ユーザーに3つの名前を入力するように要求し、名前をアルファベット順に並べ替えて画面に出力するプログラムをJavascriptで作成する必要があります。

ユーザーがデータを入力するためのプロンプト ボックスを作成する方法を理解しました。ユーザーが入力した文字列をプログラムに画面に出力させることができます。ただし、Javascript で文字列を並べ替える方法がわかりません。配列を使用する必要があることはわかっていますが、配列を配置する場所や、ユーザーが入力した変数を取得する方法がわかりません。

これは私がこれまでに持っているコードです:

<html>
<script> 

function disp_prompt() 
      {
      var names=prompt("Please enter three names","Names")
      document.getElementById("msg").innerHTML= names
      }

</script> 


<center><input type="button" onclick="disp_prompt()" value="Click Here"></center>
<br>

<h2><center><div id="msg"></div></center></h2>
</html>
4

1 に答える 1

4

全体が次のように見える可能性があります

var namesToPrompt = 3,
    names         = [ ];

// as long as namesToPrompt is truthy, prompt for inputs
while( namesToPrompt-- ) {
    names.push( prompt('Please enter a name') );
}

// sort our array
names.sort( byName );

// and print it
document.getElementById( 'msg' ).textContent = names.join(',');

function byName( a, b ) {
    return a.localeCompare( b );
}

ユーザーが一度にすべての名前を入力できるようにしたい場合は、次のようにすることができます

var inputNames = prompt( 'Please enter three names','Names' );

document.getElementById( 'msg' ).textContent = inputNames
                                                 .split( /,\s+/ )   // split by any amount of white-space characters in a row
                                                 .sort( byName )
                                                 .join( ',' );

function byName( a, b ) {
    return a.localeCompare( b );
}
于 2013-03-21T17:56:36.303 に答える