为了大作业痛苦地扒前端
感谢某外网小哥的
javascript按字典值排序代码,返回结果仍然是一个字典
如果想逆排就在sort里return后加个负号
function sort_object(obj) {
items = Object.keys(obj).map(function(key) {
return [key, obj[key]];
});
items.sort(function(first, second) {
return (second[1] - first[1]);
});
sorted_obj={}
$.each(items, function(k, v) {
use_key = v[0]
use_value = v[1]
sorted_obj[use_key] = use_value
})
return(sorted_obj)
}
//传入待排序的字典
dict = {
"x" : 1,
"y" : 6,
"z" : 9,
"a" : 5,
"b" : 7,
"c" : 11,
"d" : 17,
"t" : 3
};
//调用函数
var sdict = sort_object(dict)
//结果
{
"d":17,
"c":11,
"z":9,
"b":7,
"y":6,
"a":5,
"t":3,
"x":1
}