陣列(項目注順序):數組在javascript排序 - 不同的結果比較IE8和Chrome
{
"5":{
"Title":"Title A",
"Desc":"Description A"
},
"15":{
"Title":"Title B",
"Desc":"Description B"
},
"10":{
"Title":"Title C",
"Desc":"Description C"
},
"1":{
"Title":"Title D",
"Desc":"Description D"
},
"20":{
"Title":"Title E",
"Desc":"Description E"
}
}
現在,js代碼下面確實改變了訂單,如果在Chrome或IE9運行。
for (var i in data) {
alert(JSON.stringify(data[i]));
}
IE8保留原來的順序,而新的瀏覽器更改爲1,5,10,15,20
任何想法,爲什麼這可能是這樣嗎?是否有可能在新的瀏覽器中保留原始順序?
非常感謝,盧克
這不是一個數組。這是一個對象。對象沒有訂單。例如, – Blender
+1。我一直想看到一個證據,即物體訂單不會保存在物體中。 – Christophe
對於那些想知道的,JavaScript對象基本上被實現爲字典/散列表。因此,未定義的排序。 – voithos