对象键是数字的话 会自动排序 解决方法

Posted wsj1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对象键是数字的话 会自动排序 解决方法相关的知识,希望对你有一定的参考价值。

一、对象键值为数字型时输出的对象自动排序问题如:

var objs = {
    "1603":{id:"1603"},
    "1702":{id:"1702"},
    "1502":{id:"1502"}
}

console.log(objs);

输出的对象是:

{

    "1502":{id:"1502"},
    "1603":{id:"1603"},
    "1702":{id:"1702"}
}

会自动按照键值大小排序,这样容易影响数据显示的顺序问题

解决方法:

必须将对象的键值转换为字符,就意味着如果键值必须要是数字型,那么需要在数字前面加上字符,如加_或者字母就会转换为字符变量,这样就不会自动排序如:

var objs = {
    "xes_1603":{id:"1603"},
    "xes_1702":{},
    "xes_1502":{}
}

console.log(objs);

输出的对象就是按照原本对象的顺序输出:

{
    "xes_1603":{id:"1603"},
    "xes_1702":{},
    "xes_1502":{}
}

以上是关于对象键是数字的话 会自动排序 解决方法的主要内容,如果未能解决你的问题,请参考以下文章

php导出csv文件数字会自动变科学计数法的解决方法

如何防止对象数字属性的自动排序?

为啥输出的数字会变成科学计数法?

Edge浏览器自动给数字加下划线的解决方法

Edge浏览器自动给数字加下划线的解决方法

如何自动排列序号?