0

私は、ユーザーが名前を入力しなければならないクラスのプロジェクトを行っており、プログラムに名前をアルファベット順に並べ替えさせています。私が思いついたコードはあまりエレガントではありませんが、ユーザーに 3 つの異なる名前を入力させてから画面に名前を出力させることは問題なく機能します。ただし、名前を並べ替える方法がわかりません。disp_prompt() 関数内に配列を入れることはできますか? 配列コードを間違った領域に配置している可能性がありますが、これを試してみましたが、うまくいかないようです。

これは私がこれまでに書いたコードです:

<body>

<script> 

function disp_prompt() 
  {
  var name1=prompt("Please enter three names:","Name 1")
  var name2=prompt("Please enter three names:","Name 2")
  var name3=prompt("Please enter three names:","Name 3")
  document.getElementById("msg1").innerHTML= name1;
  document.getElementById("msg2").innerHTML= name2;
  document.getElementById("msg3").innerHTML= name3;
  }

</script> 

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

<h2><center><div id="msg1"></div></center></h2>
<h2><center><div id="msg2"></div></center></h2>
<h2><center><div id="msg3"></div></center></h2>

</body>
4

3 に答える 3

0
  1. 配列を作成する必要があります。
  2. 次に、入力します。
  3. 次に、配列インデックスを使用して html を設定します。

そのようです:

...
var namesArray = [name1,name2,name3].sort();
document.getElementById("msg1").innerHTML= namesArray[0];
document.getElementById("msg2").innerHTML= namesArray[1];
document.getElementById("msg3").innerHTML= namesArray[2];
于 2013-03-21T23:26:32.727 に答える
0

ユーザーの入力を配列に格納し、for ループを使用する必要があります。

var theArray = [];

for (var i = 0; i < 3; i++) {
    var plusOne = i + 1;
    theArray[i] = prompt("Please enter threee names: ", "Name " + plusOne);
    document.getElementById("msg" + plusOne).innerHTML = theArray[i];
}

名前が配列に入ったら、それらを並べ替えるのは簡単です。

theArray.sort();

于 2013-03-21T23:25:19.380 に答える
0

コンマ区切りの入力を使用できます。

function dispComment() {
    var names, input;
    input = prompt("Please enter three names (comma separated):","Name1,Name2,Name3");
    names = input.split(',');
    // Check names length if it is needed
    names.sort();
    // In the end, you'll have a sorted names array, assign to the fields
    document.getElementById("msg1").innerHTML= names[0];
    document.getElementById("msg2").innerHTML= names[1];
    document.getElementById("msg3").innerHTML= names[2];
}
于 2013-03-21T23:25:20.493 に答える