2012-04-06 25 views
0

可能重複:
HTML5 local storage sort的JavaScript - HTML5本地存儲的排序順序

我將數據存儲到使用HTML5 我需要有它的排序順序,我把他們的localStorage in。 最初,我讓他們以Q開頭:然後向它附加數據。 我發現taht當我檢索到的數據,它沒有在我進入他們以相同的順序出來 然後我也喜歡成才1Q:..,2Q:.. + ..

卻發現它再次沒有按照我需要他們的順序排序。

 localStorage.getItem(...) 

想知道我怎麼能告訴它什麼排序來檢索數據?

我有鑰匙這樣:

1Q:fdf 
2Q:dfdf 
3Q:dfdf 

對於值是隨機值。 我希望以某種順序擁有鑰匙可能會使它工作。

+1

http://stackoverflow.com/questions/3959817/html5-local-storage-sort – c69 2012-04-06 19:01:20

+0

編輯我的答案響應你的編輯。 – Christoph 2012-04-06 19:21:44

+0

FWIW Webkit瀏覽器(Chrome,Opera)似乎按鍵按字母順序排列鍵/值對。儘管與大多數JS對象一樣,這個順序不應該被信任。 Firefox以不可辨別的順序返回密鑰。 – MrWhite 2015-06-25 18:12:58

回答

1

localStorage是一個純粹的鍵值存儲。它不關心訂單或其他鍵值對以外的任何東西,而這些對總是被串聯化。

,如果你想要做的事愛好者,你可能想使用indexed db屬於現在HTML5標準(或某些瀏覽器實現的web sql database,但前一段時間放棄)或傳遞一個字符串化的對象可能包含更多信息,如價值和可能的排序。

你是如何將數據傳遞給localstorage的?

編輯您回答我的問題:

您可以創建一個數組,其中包含您的排序值和存儲它的字符串化表達。您可能需要爲此編寫自己的排序功能。

localStorage.setItem(JSON.stringify(<your sorted array>)); 

然後,檢索值,你可以這樣做:

var array = JSON.parse(localStorage.getItem(<your sorted array>)); 
+0

@Shristoph,我如何添加一個排序的數組和數據? – 2012-04-06 19:52:23