2016-01-22 56 views
0

这是HashMap中我有如何根据值对hashmap进行排序?

{ 
"LY": 43, 
"US": 19, 
"IN": 395, 
"IR": 32, 
"EG": 12, 
"SA": 17, 
} 

我如何排序中使用javascript/lodash降序排列,相对于键值?

预期输出是:

{ 
"IN": 395, 
"LY": 43, 
"IR":32, 
"US":19, 
"SA":17, 
"EG":12 
} 
+2

可能重复[如何排序关联数组由其va在Javascript中使用?](http://stackoverflow.com/questions/5199901/how-to-sort-an-associative-array-by-its-values-in-javascript) – djechlin

回答

2

使用不同的数据结构

你无法控制Object

键的顺序时,它的来排序,你可以使用数组数据,

var obj = { 
    "LY": 43, 
    "US": 19, 
    "IN": 395, 
    "IR": 32, 
    "EG": 12, 
    "SA": 17, 
}; 

var array = []; 
for (var key in obj) { 
    array.push({ 
    name: key, 
    value: obj[key] 
    }); 
} 

var sorted = array.sort(function(a, b) { 
    return (a.value > b.value) ? 1 : ((b.value > a.value) ? -1 : 0) 
}); 
相关问题