自学内容网 自学内容网

Object.entries()解析出来的数组顺序乱了,健是string类型

现象:

从后端哪里拿到了一长串数据

const obj = {
  "2023-07-01":'10',
  "2023-09-18":'2',
  "2023-10-10":'3',
  "2024-01-10":'1',
  "2024-01-12":'1',
  "2024-02-20":'4',
  "2024-07-01":'4',
   ...
};

比如上面的数据有一年的 并且key是string类型
那么Object.entries 解析出来的数组可能不是按照对象的前后顺序排序下来可能“24-01-20”排在“23-08-01”之前了  这样排序就乱了,需要手动排序一下, 使用sort 方法

obj.sort((a:Array<string>,b:Array<string>)=>{
  return dayjs(a[0]).isBefore(dayjs(b[0])) ? -1 :0;
})

原因:

1.属性名的类型是 Number,那么Object.entries返回值是按照key从小到大排序;
2.属性名的类型是String,那么Object.entries返回值顺序不固定需要手动排序;
3.属性名的类型是symbol,逻辑同string 
Object.keys 同理


原文地址:https://blog.csdn.net/wangshang1320/article/details/140662550

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!