2012-04-06 75 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