在Firefox中,輸出按字母順序排列(這是它們聲明的順序)。在IE和Chrome中,它們是數字。所有最新版本。什麼是這個Javascript數組的正確排序?
這是正確的嗎?
<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(我們目前的bug跟蹤系統)許多列表(用戶,模塊等)的使用格式類似於上面的命令。除非使用FireFox,否則這會使查找內容變得非常困難和煩人。我的興趣純粹是學術性的,我只問,因爲我想知道哪個瀏覽器是正確的。
有實際上只有一個項目在數組中 - 並且具有5個屬性的對象。所以我認爲用這個問題來解釋的正確方法是「對象中屬性的正確順序是什麼?」 – selbie
你可以在這裏找到更多關於迭代順序的信息http://stackoverflow.com/questions/280713/elements-order-in-a-for-in-loop/280861#280861 –
重複嗎? http://stackoverflow.com/questions/280713/elements-order-in-a-for-in-loop –