【发布时间】:2023-03-09 09:30:01
【问题描述】:
在 Firefox 中,输出是按字母顺序排列的(即它们被声明的顺序)。在 IE 和 Chrome 中,它们是数字的。所有最新版本。
哪个是正确的?
<html>
<head></head>
<body>
<script type="text/javascript">
function makeArray()
{
var array = [{5:'Five',4:'Four',1:'One',3:'Three',2:'Two'}];
var msg = '';
for (var val in array[0])
{
msg = msg + val;
}
alert(msg);
}
</script>
<input type="button" onClick="makeArray();" value="Press Me" />
</body>
</html>
背景故事... 在SpiraTeam(我们当前的错误跟踪系统)中,许多列表(用户、模块等)使用与上述类似的格式进行排序。除非您使用 FireFox,否则这会使查找内容变得非常困难和烦人。我的兴趣纯粹是学术上的,我只是问,因为我想知道哪个浏览器是正确的。
【问题讨论】:
-
数组中实际上只有一项 - 并且对象具有 5 个属性。所以我认为表达这个问题的正确方法是“对象中属性的正确顺序是什么?”
-
你可以在这里找到更多关于对象迭代顺序的信息stackoverflow.com/questions/280713/…
标签: javascript