我想按升序对Stage键进行排序。
我要这个命令:{'stage_1','stage_2','stage_3','stage_11','stage_22'}
let data = {
"stage_1": "PADIYANALLUR",
"stage_11": "Weels India Rd.Jn.",
"stage_2": "GUINDY TVK I.E",
"stage_22": "RED HILLS",
"stage_3": null,
}
答案 0 :(得分:0)
JavaScript中的对象不保证键顺序。您必须使用数组。
您可以使用Object.keys()和sort()生成键的有序数组。
要根据密钥中的数字后缀进行数字排序,请使用+key.match(/\d+/)
提取数字并将其转换为数字:
const data = {
"stage_1": "PADIYANALLUR",
"stage_11": "Weels India Rd.Jn.",
"stage_2": "GUINDY TVK I.E",
"stage_22": "RED HILLS",
"stage_3": null,
};
const result = Object.keys(data).sort((a, b) => +a.match(/\d+/) - +b.match(/\d+/));
console.log(result)