2013-07-17 28 views
1

我有myData的地圖如下如何在JavaScript Map中保留序列?

var myData = new Object(); 

myData[10427] = "Description 10427"; 
myData[10504] = "Description 10504"; 
myData[10419] = "Description 10419"; 

但現在,當我遍歷myData的,我沒有在Chrome中獲得相同的sequnce和IE正常工作在Firefox。它在迭代的關鍵

for (var key in myData) { 
    alert("key is"+key); 
    } 

升序我得到升序輸出警覺10419,10427,10504

我怎樣才能確保爲插入圖中相同的順序數據迭代?

+0

使用字符串而不是數字。像'myDate ['10427'] =「描述10427」;'。如果你只是使用一個數字,它會被添加到數組中的索引處。 – putvande

+1

@putvande - 廢話。您傳遞給方括號表示法的值在使用之前將被字符串化。普通對象總是無序的。 – Quentin

+0

因爲我的不好...我想這個問題是關於Array的。誤讀它。 – putvande

回答

6

對象在JS中無序。如果訂單很重要,請使用數組。

var myData = []; 
myData.push({ "number": 10427, description: "Description 10427" }); 
+0

我不想要訂單我想要相同的序列(同時迭代)作爲數據插入的序列 – emilly

+1

如果你想要他們在插入順序,那麼不要對它們排序。 – Quentin

+0

我不會對它們進行排序。他們得到自動鉻和ie,但在Firefox中工作正常 – emilly

相關問題