我正在尝试排序对象(键,值)值并在控制台中打印。我知道对象键排序,但我不知道值排序。我尝试使用下面的代码对对象值进行排序。
countries1 = {
IN: ["India"],
AE: ["United Arab Emirates"],
AT: ["Austria"],
SV: ["El Salvador"],
SX: ["Sint Maarten (Dutch part)"],
CH: ["Switzerland"],
CI: ["Côte d'Ivoire"],
SZ: ["Swaziland"],
CG: ["Congo"]
};
var keys = Object.keys(countries1),
i,
len = keys.length,
keys1 = [];
var objects = {};
for (var x = 0; x < len; x++) {
var k = keys[x];
var j = countries1[k][0];
objects[k] = j;
}
console.log(objects);
答案 0 :(得分:0)
您无法在JavaScript中对对象进行排序。如果您控制对象使其成为一个数组,那么它更容易使用。否则,将其转换为数组并使用它。
e.g。
var countries1 = {
IN: ["India"],
AE: ["United Arab Emirates"],
AT: ["Austria"],
SV: ["El Salvador"],
SX: ["Sint Maarten (Dutch part)"],
CH: ["Switzerland"],
CI: ["Côte d'Ivoire"],
SZ: ["Swaziland"],
CG: ["Congo"]
};
var sorted = Object
.keys(countries1)
.map(function(value, index) {
return [countries1[value][0], value];
})
.sort();
console.log(sorted);
&#13;
为什么你可以在这里更好地解释一个对象:https://stackoverflow.com/a/1069705/1869996