for key in XXX遍历数组出错是因为浏览器解析对象的规则不一样,解决的话就是把对象转成数组,因为数组是有序的
转数组代码
let arr = [];
for (let key in Obj) { //Obj就是你要排序的对象
arr.push({
value: resObj[key], // label 字段
label: key, // value字段
});
}
这样子,对象就变成了数组,但是顺序还不是你想要的,如果你的对象中某个属性是数字,你就可以根根据该字段通过sort()方法,进行排序,
我的场景是对象的key是日期,我的排序是根据对象key的后两位排序的,
arr.sort((a,b)=>{
return a.label.slice(-2)-b.label.slice(-2)
})
//a-b是降序,b-a是升序