如何按字母顺序排序单个对象?

Aks*_*mar 4 javascript jquery

我想按字母顺序排序单个对象...

保持其关键和价值ex:

输入是: {2:"a",3:"e",4:"h",5:"g",6:"d",7:"i",8:"c",9:"f ",10:"b"}

我需要输出: {2:"a",10:"b",8:"c",6:"d",3:"e",9:"f",5:"g",4:" h",7:"我"}

这是我的js代码:

var myObject = {2: "a", 3: "e", 4: "h", 5: "g", 6: "d", 7: "i", 8: "c", 9: "f", 10: "b"}

keysSorted = Object.keys(myObject).sort(function(a,b){return myObject[a]-myObject[b]});
console.log(keysSorted);
Run Code Online (Sandbox Code Playgroud)

这是我的小提琴:https: //jsfiddle.net/j7yujL2y/

Pra*_*lan 6

如果您只想对属性名称数组进行排序,请使用String#localeCompare比较字符串.

var myObject = {
  2: "a",
  3: "e",
  4: "h",
  5: "g",
  6: "d",
  7: "i",
  8: "c",
  9: "f",
  10: "b"
}

keysSorted = Object.keys(myObject).sort(function(a, b) {
  return myObject[a].localeCompare(myObject[b])
});
console.log(keysSorted);
Run Code Online (Sandbox Code Playgroud)