JavaScriptで、二次元配列を任意の列でソートする方法です。
数値でソートするものとし、昇順、降順が指定できます。
function xsort(arrs, col, order){
//二次元配列のソート
//col:並べ替えの対象となる列
//order:1=昇順、-1=降順
arrs.sort(function(a,b){
return (a[col]-b[col])*order;
});
return arrs;
}
//二次元配列のソート
//col:並べ替えの対象となる列
//order:1=昇順、-1=降順
arrs.sort(function(a,b){
return (a[col]-b[col])*order;
});
return arrs;
}
サンプルをJSFiddleに載せました。
コメント
xsortを使用させて頂いております。
場合により、データは、10,3000などの数値列(のつもりですが)、この関数を実行すると
”sqs.sort(function(a,b){ ”行でエラーとなり、「数値にしてください」とコメントされます。
対応の方策がありましたらお教えください。
鈴木さん
コメントありがとうございます。
エラーの件、ちょっと考えてみましたが、原因が思い当たりません。
コード全体があればこちらの環境で実行してみるのですが。