我想按字母顺序对单个对象进行排序...
维护它的键和值,例如:
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/