<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-language" content="ja">
<meta charset="UTF-8">
<title>ソート</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
</head>
<body>
<script>
<!--
var array = [40000,30,800,2000,5];
display(array,"元データ ");
// 文字列の比較でソートする場合
array.sort( function(a,b){ if (a.toString() > b.toString() ) { return 1; } else { return -1;} } ) ;
display(array,"文字でソート(昇順)");
array.sort( function(a,b){ if (a.toString() < b.toString() ) { return 1; } else { return -1;} } ) ;
display(array,"文字でソート(降順)");
// 数値の比較でソートする場合
array.sort( function(a, b) { return a - b ; } )
display(array,"数字でソート(昇順)");
array.sort( function(a, b) {return b - a ; } )
display(array,"数字でソート(降順)");
// 配列の内容を表示
function display(array,d) {
document.open();
document.write(d + " : ");
d = "" ;
for (var i = 0; i < array.length; i++) { d+= " ==> " + array[i] }
document.write(d + "<br>");
document.close();
}
//-->
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-language" content="ja">
<meta charset="UTF-8">
<title>連想配列の配列をキーでソート</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
</head>
<body>
<script>
<!--
// 連想配列の配列
var array = [
{ 'name' : 'bbbbbbbbbb', 'suu' : 100 },
{ 'name' : 'uuuuuuuuuu', 'suu' : 400 },
{ 'name' : 'aaaaaaaaaa', 'suu' : 300 },
{ 'name' : 'pppppppppp', 'suu' : 200 }
];
display(array,"元データ");
// 文字列の比較でソートする場合
array.sort(
function(a, b) {
if (a['name'] == b['name']) { return 0; }
else { return (a['name'] < b['name']) ? -1 : 1; }
}
);
display(array,"文字でソート");
// 数値の比較でソートする場合
array.sort( function(a, b) { return a['suu'] - b['suu']; } )
display(array,"数字でソート");
// 配列の内容を表示
function display(array,d) {
document.open();
document.write(d + "<br>");
for (var i = 0; i < array.length; i++) {
document.write(
array[i]['name'] + ' : ' +
array[i]['suu'] + "<br>"
);
}
document.write("<br>");
document.close();
}
//-->
</script>
</body>
</html>