javascript - 如何按字母顺序对单个对象进行排序?

标签 javascript jquery

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

维护它的键和值,例如:

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

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

这是我的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);

这是我的 fiddle : https://jsfiddle.net/j7yujL2y/

最佳答案

如果您只想对属性名称数组进行排序,请使用 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);

关于javascript - 如何按字母顺序对单个对象进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40458755/

相关文章:

javascript - 对象 #<HTMLDivElement> 作为 jQuery 对象

c# - 如何使用 Javascript 或 JQuery 获取页面内容

javascript - 如何防止在文本字段中输入非数字?

javascript - 区分按键按下和按键保持

javascript - 使用 chai 根据请求设置 cookie

java - net.sf.json.JSONException异常

javascript - 如何在 asp.net 的 javascript 文件中使用本地化消息

javascript - 将上下文传递给 jquery hoverIntent

c# - 更新页面中的文本框(实时)

javascript - 如何从动态数组中获取下拉列表的值?