配列要素の並べ替え(sort()メソッド)

■半角カンマ(,)で区切り、並べ替えたいデータを入力してください。
 --→
 
 

■半角カンマ(,)で区切り、並べ替えたい数値を入力してください。
 --→
 
 


sort()メソッド

<SCRIPT language="JavaScript"><!--
function Sort1(flg){ //データの並べ替え
text = document.form1.txt1.value;
words = text.split(","); //カンマ区切りで配列にする
words.sort(); //昇順でソート
if(flg==1)document.form1.txt1a.value = words.join(); //配列をカンマで繋げて表示する
if(flg==2){
words.reverse(); //配列の並びを逆転(即ち、降順に)
document.form1.txt1b.value = words.join();
}
}
function Sort2(flg){ //数値の並べ替え
text = document.form1.txt2.value;
check = "1234567890,"; //使用できる文字種を限定する
for(i=0;i<text.length;i++){ //使用できない文字が含まれていないかチェック
if(check.indexOf(text.charAt(i)) == -1){
alert("半角の英数字とカンマ(,)しか使えません。再入力してください。");
return false;
}
}
nums = text.split(","); //カンマ区切りで配列にする
if(flg==1){
nums.sort(AB); //AB関数を使い昇順ソート(小さい数値順に)
document.form1.txt2a.value = nums.join();
}
if(flg==2){
nums.sort(BA); //BA関数を使い降順ソート(大きい数値順に)
document.form1.txt2b.value = nums.join();
}
}
function AB(a,b){
return a-b;
}
function BA(a,b){
return b-a;
}

//--></SCRIPT>
</head>
<body>
<form name="form1">
■半角カンマ(,)で区切り、並べ替えたいデータを入力してください。
 --→<input type="text" name="txt1" size="60">
<input type="button" name="bt1" value="昇順に並べ替え" onclick="Sort1(1)">
--→<input type="text" name="txt1a" size="60">
<input type="button" name="bt2" value="降順に並べ替え" onclick="Sort1(2)">
--→<input type="text" name="txt1b" size="60">
■半角カンマ(,)で区切り、並べ替えたい数値を入力してください。
--→<input type="text" name="txt2" size="60">
<input type="button" name="bt3" value="昇順に並べ替え" onclick="Sort2(1)">
--→<input type="text" name="txt2a" size="60">
<input type="button" name="bt4" value="降順に並べ替え" onclick="Sort2(2)">
--→<input type="text" name="txt2b" size="60">
</form>

end(01/9/22)