按降序排列字符出现的对象

时间:2016-12-31 16:17:35

标签: javascript sorting

我使用JavaScript .forEach方法迭代给定的字符数组,以返回一个对象,该对象指示字符和字符出现的次数:

var textArray = [a, b, b, c, d, e, e, e, f];

var count = {};

textArray.forEach(function(elem) {
    count[elem] = count[elem] + 1 || 1;
});

console.log(count);

会记录:

{
a: 1,
b: 2,
c: 1,
d: 1,
e: 3,
f: 1
}

如何通过降序发生对对象进行排序?即:

{
e: 3,
b: 2,
a: 1,
c: 1,
d: 1,
f: 1
}

1 个答案:

答案 0 :(得分:0)

你可以这样做。



function sort_object(list){
  var sorted_list= new Object();
  var sorted_keys=Object.keys(list)
                          .sort((b,a) => list[a]-list[b]);
  sorted_keys.forEach(function(val){
            sorted_list[val]=list[val];
  });
  
  return sorted_list;
}


var data = {a: 1, b: 2, c: 1, d: 1, e: 3};

console.log(sort_object(data));