Javascript TIPS No.9 配列の中身をソートする「配列名.sort」

  • 配列の中身を、簡単にソートする方法を紹介します
  • これは・・・使える・・・

文法

配列名.sort()

サンプルコード

<html lang="ja-JP">
<head>
<title>配列をソートする</title>
<script type=text/javascript>

//配列を作る
myStr = new Array(9);

//配列に文字列を格納する(あえて、バラバラに格納しています)
myStr[0] = "C";
myStr[1] = "F";
myStr[2] = "B";
myStr[3] = "I";
myStr[4] = "J";
myStr[5] = "H";
myStr[6] = "A";
myStr[7] = "D";
myStr[8] = "G";
myStr[9] = "E";

//======================================
//ソートせずに出力した場合
   document.write("ソートせずに出力した場合:<br>");

for(i=0; i<10; i++){
   document.write(myStr[i]);
}
//======================================


//配列をソートする
myStr.sort();


//======================================
//ソートしてから出力した場合
   document.write("<br><br>ソートしてから出力した場合:<br>");

for(i=0; i<10; i++){
   document.write(myStr[i]);
}
//======================================
</script>
</head>
<body>
</body>
</html>

サンプルを見る

解説

  • 文法をそのまんまなので、特に解説する必要もないかと思いますが・・・
ソートする前の出力処理
  • ソートする前に配列の中身をすべて取り出しています。
  • この場合、配列を宣言した際の順番でそのまま出力しているので、バラバラになってしまいます。
//======================================
//ソートせずに出力した場合
   document.write("ソートせずに出力した場合:<br>");

for(i=0; i<10; i++){
   document.write(myStr[i]);
}
//======================================
ソート処理
  • この1文で配列をソートしています。
  • 引数は、省略可能なので、何も指定せず使っています。
  • 「ソートしたい配列名.sort();」と書きます。
//配列をソートする
myStr.sort();
ソートしてからの出力処理
  • ソートした後の出力処理です。
  • ソートする前の処理と、まったく同じですが、配列がきちんと並べ替えられて出力されているのがわかります。
//======================================
//ソートしてから出力した場合
   document.write("<br><br>ソートしてから出力した場合:<br>");

for(i=0; i<10; i++){
   document.write(myStr[i]);
}//======================================