问题

如何在 JavaScript 中对 JSON 对象按照值进行排序?

解决方案

1
2
3
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

说明

这个方法通过以下步骤实现排序:

  1. 使用 Object.keys(list) 获取所有键
  2. 使用 sort() 方法对键进行排序
  3. 排序函数根据对应的值 list[a] - list[b] 来比较
  4. 返回排序后的键数组

参考链接