Javascript Chrome和Opera会自动排序对象属性

Javascript Chrome和Opera会自动排序对象属性,javascript,Javascript,问题是:Chrome会自动对对象的属性进行排序 如果我有这样一个对象: var obj = {4: "first", 2: "second", 1: "third"}; 然后当我下一步做的时候: for(var i in obj) { console.debug(obj[i]); } 我接下来看到: third second first 但预计: first second third永远不要依赖于属性的顺序。它们是无序的,并且没有定义应该以何种顺序枚举属性的规范 ,而其他浏览器则按插

问题是:Chrome会自动对对象的属性进行排序

如果我有这样一个对象:

var obj = {4: "first", 2: "second", 1: "third"};
然后当我下一步做的时候:

for(var i in obj) {
    console.debug(obj[i]);
}
我接下来看到:

third
second
first

但预计:

first
second

third

永远不要依赖于属性的顺序。它们是无序的,并且没有定义应该以何种顺序枚举属性的规范


,而其他浏览器则按插入顺序枚举它们。它取决于实现。

您不应该期望
for..in
循环中的键有任何特定顺序。发件人:

for…in循环以任意顺序迭代对象的属性


如果您希望使用数字键进行排序,请使用数组。

可能重复[Sorting javascript by property value]()
没有定义应以何种顺序枚举属性的规范。
。。。。。我有个主意。我们的订单怎么样。