我有一个包含表单结果的关联数组,我需要先按最大值排序然后降序,或者甚至只能按降序打印到页面。
var results = {
[title1, 5],
[title2, 8],
[title3, 2],
[title4, 9],
[title5, 1]
}
我目前正在通过从表单中获取值并将其存储在此数组中来创建“结果”。我可以使用Array.max获取最大值,但就是这样。我不知道如何订购或按降序吐出物品。我已经想过每次找到最大值,他们打印这个并删除对象,但我想知道是否有更有效的方法。
答案 0 :(得分: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];