vco*_*ekx 2 javascript node.js
我目前有一个这样的对象
let obj = {
"5": "961131",
"8": "961127",
"5,5": "961107",
"7": "961103",
"9.5": "961115"
}
Run Code Online (Sandbox Code Playgroud)
是否可以按其键升序对其进行排序?我想要实现的结果是:
obj = {
"5": "961131",
"5,5": "961107",
"7": "961103",
"8": "961127",
"9.5": "961115"
}
Run Code Online (Sandbox Code Playgroud)
它可能涉及创建一个我不介意的新对象,只是不知道如何完成此操作
你不能。对象键不可排序,并且您无法预测每个浏览器将如何迭代对象。
但是您可以像这样使用数组作为索引。请记住格式化您的密钥。如果它是一个字符串,只需使用.sort(). 否则你可能应该将你的密钥与.sort((a, b) => parseFloat(a) - parseFloat(b));
let obj = {
"5": "961131",
"8": "961127",
"5,5": "961107",
"7": "961103",
"9.5": "961115"
}
let index = Object.keys(obj).sort()
// iterate method
index.forEach((key) => {
console.log(key, obj[key])
})
// or array of sorted object
let sortedArrayOfObject = index.map((v) => {
return {key: v, value: obj[v]}
})
console.log(sortedArrayOfObject)Run Code Online (Sandbox Code Playgroud)