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]); }//======================================