• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:JavaScriptの多次元ソートについて )

JavaScriptの多次元ソートについて

このQ&Aのポイント
  • JavaScriptの多次元ソートについて。現在、Array型にそれぞれソートをかけたいが、どのようにすべきか。
  • JavaScriptの多次元ソートの方法を教えてください。
  • Array型に対して、JavaScriptで多次元ソートを行う方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • 15mm
  • ベストアンサー率65% (65/100)
回答No.2

http://www.tohoho-web.com/js/array.htm#sort より(一部略。原文要確認) ----------------------- array.sort([func]) (e4/N3) func で比較関数を指定することも可能です。比較関数では負数、0、正数によって順序を返すようにします。 function hikaku(a, b) { return(b - a); } yy = new Array(3, 7, 8, 1); yy.sort(hikaku); alert(yy); ----------------------- 例では降順に並べる比較関数hikaku()が示されています。 見て分かるように、比較関数には配列の要素が引数として渡されてますので、 配列要素のプロパティにアクセスすることも可能。 例に准えると function hikaku(a, b) { return(b.x - a.x); } var yy = [{x:1,y:2},{x:3,y:4}] yy.sort(hikaku); alert(yy); といった感じです。 以上をヒントに頑張ってください。と、言いたいところですが、 そもそもオブジェクト表記法が・・・おかしいですが・・・大丈夫ですか? JavaとJavascriptを混合していらっしゃる?

sakurazaku
質問者

お礼

ありがとうございます。 多次元ではなく、二次元配列のソートですね。 JSON形式のArrayのデータをどのように書けば良いのか分からず、あのように書いてしまいました。 文言で読み取っていただいてありがとうございます。 また、解決しました。 このFunctionで簡易に実現できました。 /** * 二次元配列ソート * col: 指定列 * srt: 1=昇順、-1=降順 */ function sortHere(ary, col, srt){ ary.sort(function(a,b){ return((a[col]-b[col])*srt); }); return(ary); } ありがとうございました!

すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

けっかとして、これはどうならべたいの? しかも文字列に""とかないし・・・。 しかも、なんと、さらに、おれには、答える技量がないし・・・。

すると、全ての回答が全文表示されます。

関連するQ&A