Chrome 和可能 Opera 自动对对象属性进行排序

2024-03-05

问题是: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 使用数字键对属性进行数字排序 http://code.google.com/p/v8/issues/detail?id=164,而其他浏览器则按插入顺序枚举它们。它取决于实现。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Chrome 和可能 Opera 自动对对象属性进行排序 的相关文章

随机推荐