在Chrome,Edge浏览中,js创建的对象会自动排序

根据需求,需要把对象里面的key为has的属性展示的时候放到第一个展示
把对象转换成数组后,has放到数组的第一个位置,如下:

results = [
    "hasin":{id:"1603"},
    "h9sin":{id:"1702"},
    "abcd":{id:"1502"}
];
//数组转对象
var attachmentsObj = {}
results.forEach(item=>{     
    attachmentsObj[Object.keys(item)[0]] = Object.values(item)[0];
});

//转换为对象后,顺序改变了,如下:原来浏览器会根据对象的key值自动排序,Chrome,edge都会排序
Obj = {
    {
      "abcd":{id:"1502"},
      "h9sin":{id:"1702"},
      "hasin":{id:"1603"},
    }
};
//例子:
var objs = {
    "hasin":{id:"1603"},
    "h9sin":{id:"1702"},
    "abcd":{id:"1502"}
};
console.log(objs);
//输出结果
{
    "abcd":{id:"1502"},
    "h9sin":{id:"1702"},
    "hasin":{id:"1603"},
}

你可能感兴趣的:(在Chrome,Edge浏览中,js创建的对象会自动排序)