人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

javascriptの連想配列のソートについて質問です。
以下のコードのようにしてみましたがなぜかソートできません。
何が間違っているのでしょうか?
どうか教えてください。

list[0] = new Array({'id':0,'data':190});
list[1] = new Array({'id':1,'data':0});
list[2] = new Array({'id':2,'data':190});

var key = 'data';
list.sort (function (b1, b2) { return b1.key > b2.key ? 1 : -1; } );

//結果
list[ [id=0,data=190] , [id=1,data=0] , [id=2,data=190] ]


●質問者: w1102a
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:b2 JavaScript Key コード ソート
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● a-kuma3

var key = 'data';

list.sort (function (b1, b2) { return b1.key > b2.key ? 1 : -1; } );

が、

var key = 'data';
list.sort (function (b1, b2) { return b1[key] > b2[key] ? 1 : -1; } );

かな?

◎質問者からの返答

ありがとうございます!

susie-tさんの回答も合わせて無事にソートできました!


2 ● susie-t
ベストアンサー

あと

list[0] = new Array({'id':0,'data':190});

list[0] = {'id':0,'data':190};

でいいかと。

◎質問者からの返答

ありがとうございます!

おかげ様で無事ソートできました! new Arrayが原因だったのですね。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ