-1

フォームからの結果を含む連想配列があります。これを最初に最大値で並べ替えてから降順にするか、アイテムを降順でページに印刷できるようにする必要があります。

var results = {
  [title1, 5],
  [title2, 8],
  [title3, 2],
  [title4, 9],
  [title5, 1]
}

現在、フォームから値を取得してこの配列に格納することにより、「結果」を作成しています。Array.max を使用して最大値を取得できますが、それだけです。これを注文したり、アイテムを降順に吐き出す方法がわかりません。最大値を見つけるたびに、これを印刷してオブジェクトを削除することを考えましたが、より効率的な方法があるかどうか疑問に思いました。

4

1 に答える 1

0

まず、あなたのコードは有効な JavaScript を示していません。あなたは2つのことのいずれかを意味します(省略):

var results = { title1: 5, title2: 8 };

...また...

var results = [ ['title1', 5], ['title2', 8] ];

2 番目のことを意味すると仮定すると、カスタム コンパレータを使用して配列を並べ替えることで、最大のものを見つけることができます。

results.sort(function(a,b) { return a[1] < b[1]; });

最大のアイテムは、ソート後に配列の最初のインデックスになります。

var largest = results[0];
于 2013-10-17T14:27:51.947 に答える