Sorting Javascript Dictionary
Dictionary here a key:value object
by klenwell
JavaScript
var dict = {
'a': 100,
'b': 200,
'c': 25,
'd': 150
};
function dict_to_kvlist(dict) {
var kv_list = [];
Object.keys(dict).map(function (k) {
var kv = {k:k, v:dict[k]};
kv_list.push(kv);
});
return kv_list;
};
function sort_kvlist(kv_list, DESC) {
var sorted_kvlist = kv_list.sort(function (a, b) {
return a.v - b.v;
});
if ( DESC ) {
sorted_kvlist.reverse();
}
return sorted_kvlist.map(function(kv) { return kv.k; });
};
var sorted_dict_asc = sort_kvlist(dict_to_kvlist(dict));
var sorted_dict_desc = sort_kvlist(dict_to_kvlist(dict), true);
console.log(dict, sorted_dict_asc, sorted_dict_desc);