多次元配列の2つ目の項目でソートするには?
今、とあるデータを csv と同じ形式で多次元配列にセットしています。
この多次元配列を for 文を使って TABLE タグを出力させて一覧表示しています。
データ部は数値順です。
function ListOut(){
var data = [
["0x0140","CB_GETEDITSEL","エディット領域の選択範囲の取得",…], ←データは9項目ある(長いので省略)
:
["0x0161","CB_INITSTORAGE","リストボックスのメモリ初期化",…],
[0,0,0,0,0,0,0,0,0], ←データの最後を表す
];
for ( var i=0 ; table[i][0] != 0 ; i++ ){
ListOutSub( table, i ); ←ここで1データを TABLE 出力
}
}
質問1:
『data』リストの2つ目の要素でアルファベット順にソートする方法が分かりません?
ソート方法が分かれば数値順以外にもアルファベット順で ListOutSub 関数などで一覧表示できる
と思っています。→データをアルファベット順にソートして定義するのは量からして避けたいです。
『sort』を使えば出来そうですが、第1引数に何を、どのように指定するのかが分かりません。
※『ListOutSub』は自作関数で多次元配列の1データを TABLE タグで出力させるものです。
質問2:
データの最後を[0,0,…,0]として終わりを判定していますが、何かよい方法ありますか?
『table.length』を使ってみましたが上手く出来ませんでした。→『i < table.length』
多次元配列の場合では『length』は使えないのでしょうか?
指定方法が間違っているのならば正しい方法を教えて下さい。
上記の2つがわかる方、どうか教えてくれませんか?
ちなみに JavaScrpit は今年始めたばかりの初心者です。→参考までに C/C++ 言語歴は14年
宜しくお願いします。→回答へのお礼は夕方以降になります。
お礼
保険代理店に行って聞いてみます。ありがとうございました!