TOP /その他のJavaScript 二次元配列ソート







No品名単価個数
<script type="text/javascript"><!--
sort_n=0;
sort_check=0;
sort_flag=0;

function SortAscii( text1 , text2 ){     //ソート用比較関数
  if((Number(text1[sort_n]) || Number(text1[sort_n])==0) && (Number(text2[sort_n]) || Number(text2[sort_n])==0)) //number
  return (sort_check)?(text2[sort_n] - text1[sort_n]):(text1[sort_n] - text2[sort_n]);

  if(Number(text1[sort_n])|| Number(text1[sort_n])==0)return (sort_check)?1:-1;
  else if(Number(text2[sort_n])|| Number(text2[sort_n])==0)return (sort_check)?-1:1;

  if( text1[sort_n] > text2[sort_n] )return (sort_check)?-1:1;             //ASCII
  else if( text1[sort_n] == text2[sort_n] )return 0;     
  else return (sort_check)?1:-1;;
}

function Dimension_Sort(int,updown){
if(sort_flag)return;
sort_n=(int) ? int : 0;
sort_check=(updown) ? updown : 0;
sort_flag = 1;
data.sort(SortAscii);
Data_write();
sort_flag = 0;
}
function Data_set(){      //配列にデータセット
tobj=document.getElementById("data_table").tBodies[0];
data=new Array();
 for (i=0; i<tobj.rows.length;i++){
    data[i]=new Array();
  for (j=0; j<tobj.rows[i].cells.length;j++){
    data[i][j]=tobj.rows[i].cells[j].innerHTML;
  }
 }
}
function Data_write(){     //テーブルに書き出し
 for (i=0; i<tobj.rows.length;i++){
  for (j=0; j<tobj.rows[i].cells.length;j++){
    tobj.rows[i].cells[j].innerHTML = data[i][j];
  }
 }
}/*himajin.moo.jp*/
onload=Data_set;
// --></script>

<table border=1 id="data_table">
<thead>
 <tr>
   <th>No</th><th>DATA1</th><th>DATA2</th><th>DATA3</th>
 </tr>
 </thead>
<tbody>
 <tr>
   <td>No</td><td>DATA</td><td>DATA</td><td>DATA</td>
 </tr>

</table>
上記赤部分をデータ分増やす。