-1

我有一个包含表单结果的关联数组,我需要先按最大值排序,然后再降序排列,或者甚至只能按降序将项目打印到页面上。

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

我目前正在通过从表单中获取值并将它们存储在这个数组中来创建“结果”。我可以使用 Array.max 获取最大值,但仅此而已。我不知道我将如何订购这个或按降序吐出这些物品。我每次找到最大值时都考虑过,他们打印这个并删除对象,但我想知道是否有更有效的方法。

4

1 回答 1

0

首先,您的代码没有显示有效的 JavaScript。你的意思是两件事之一(缩写):

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

...或者...

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

假设您的意思是第二个,您可以通过使用自定义比较器对数组进行排序来找到最大的:

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

排序后最大的项目将位于数组的第一个索引中。

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