JavaScript、二次元配列でソート

JavaScriptで、二次元配列を任意の列でソートする方法です。
数値でソートするものとし、昇順、降順が指定できます。

function xsort(arrs, col, order){
  //二次元配列のソート
  //col:並べ替えの対象となる列
  //order:1=昇順、-1=降順
  arrs.sort(function(a,b){
    return (a[col]-b[col])*order;
  });
  return arrs;
}

サンプルをJSFiddleに載せました。

コメント

  1. 鈴木清吉 より:

    xsortを使用させて頂いております。
    場合により、データは、10,3000などの数値列(のつもりですが)、この関数を実行すると
     ”sqs.sort(function(a,b){ ”行でエラーとなり、「数値にしてください」とコメントされます。
    対応の方策がありましたらお教えください。

  2. stabucky より:

    鈴木さん
    コメントありがとうございます。
    エラーの件、ちょっと考えてみましたが、原因が思い当たりません。
    コード全体があればこちらの環境で実行してみるのですが。

タイトルとURLをコピーしました