当前位置: 首页> 文旅> 文化 > Object.entries()解析出来的数组顺序乱了,健是string类型

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

时间:2025/7/10 7:14:19来源:https://blog.csdn.net/wangshang1320/article/details/140662550 浏览次数:0次
现象:

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

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 同理

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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: