博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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

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":{}
}