JavaScript/HTMLおぼえがき

JavaScriptJavaScript/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 = [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>

JavaScriptJavaScript/HTMLサイトマップホーム