Object.keys()的默认排序

const obj = {'name':'张三','3':'ccc','a':'000','2':'222','1':'aaa'};
Object.keys(obj);
console.log(obj)


["1","2", "3", "name", "a"]
{1: 'aaa', 2: '222', 3: 'ccc', name: '张三', a: '000'}

当我们打印obj时回存在一个默认顺序
而Object.keys()打印属性时也存在这样的一个顺序

结论

Chrome Opera 中使用 for-in 语句遍历对象属性时会遵循一个规律:

它们会先提取所有 key 的 parseFloat 值为非负整数的属性,然后根据数字顺序对属性排序首先遍历出来,然后按照对象定义的顺序遍历余下的所有属性。

其它浏览器则完全按照对象定义的顺序遍历属性。``

posted @ 2023-01-07 20:28  含若飞  阅读(288)  评论(0编辑  收藏  举报