I try to sort object by value. The object contains some keys as a numbers which can't be sorted out.
The object looks like:
{"0":1,"1":10,"2":8,"3":5,"4":2,"5":1,"6":4,"7":1,"8":3,"9":4,"-":107,"a":7,"b":14,"c":12,"d":15,"e":3,"f":35,"g":5,"h":5,"i":8,"j":1,"k":14,"l":7,"m":18,"n":3,"o":6,"p":20,"r":5,"s":36,"t":17,"u":8,"v":5,"w":4,"y":1,"q":1,"x":1,"а":2,"б":1,"в":3,"г":2,"д":7,"е":1,"з":2,"и":3,"к":4,"л":3,"м":5,"н":3,"о":1,"п":7,"р":1,"с":4,"т":1,"у":1,"ч":4,"ш":1,"э":6}
The code is as follows:
let group_sorted = {}
const sorted = Object.keys(group)
.sort((a,b) => { return group[b] - group[a]} )
console.log(sorted) // <= returns sorted keys just fine
for (let elm of sorted) {
elm = elm.toString() // <= convert numbers to string // didn't help
group_sorted[elm] = group[elm]
}
console.log(group_sorted)
The result I get looks like the following (everything except numbers sorted out properly)
{"0":1,"1":10,"2":8,"3":5,"4":2,"5":1,"6":4,"7":1,"8":3,"9":4,
"-":107,"s":36,"f":35,"p":20,"m":18,"t":17,"d":15,"b":14,"k":14,"c":12,"i":8,"u":8,"a":7,"l":7,"д":7,"п":7,"o":6,"э":6,"g":5,"h":5,"r":5,"v":5,"м":5,"w":4,"к":4,"с":4,"ч":4,"e":3,"n":3,"в":3,"и":3,"л":3,"н":3,"а":2,"г":2,"з":2,"j":1,"y":1,"q":1,"x":1,"б":1,"е":1,"о":1,"р":1,"т":1,"у":1,"ш":1}