如何按字母顺序排序单个对象? [英] How to sort single object alphabetically?

查看:82
本文介绍了如何按字母顺序排序单个对象?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I want to sort single object alphabetically...

维护其键和值ex:


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

input is: {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: i}

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);

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

推荐答案

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

If you just want to sort the property name array then use String#localeCompare for comparing string.

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);

这篇关于如何按字母顺序排序单个对象?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆