JavaScript 中按值排序 JSON 对象
问题
如何在 JavaScript 中对 JSON 对象按照值进行排序?
解决方案
var list = {"you": 100, "me": 75, "foo": 116, "bar": 15};
keysSorted = Object.keys(list).sort(function(a,b){return list[a]-list[b]})
alert(keysSorted); // bar,me,you,foo
说明
这个方法通过以下步骤实现排序:
- 使用
Object.keys(list)获取所有键 - 使用
sort()方法对键进行排序 - 排序函数根据对应的值
list[a] - list[b]来比较 - 返回排序后的键数组