如何从javascript获取存储在HTML5本地存储中的项目列表?

如何从javascript获取存储在HTML5本地存储中的项目列表?,javascript,html,Javascript,Html,如何从javascript获取存储在HTML5本地存储中的项目列表?由于本地存储是带有字符串的键值,只需使用JSON对其进行序列化,并在需要检索时对其进行反序列化即可 localStorage.setItem("bar", JSON.stringify([1,2,3])); var foo = localStorage.getItem("bar"); JSON.parse(foo); // returns [1,2,3] 发件人: 与其他JavaScript对象一样,您可以 可以将lo

如何从javascript获取存储在HTML5本地存储中的项目列表?

由于本地存储是带有字符串的键值,只需使用JSON对其进行序列化,并在需要检索时对其进行反序列化即可

 localStorage.setItem("bar", JSON.stringify([1,2,3]));
 var foo = localStorage.getItem("bar");
 JSON.parse(foo);
 // returns [1,2,3]
发件人:

与其他JavaScript对象一样,您可以 可以将localStorage对象视为 关联数组。而不是使用 getItem()和setItem()方法, 您可以简单地使用方括号


以下是

本地存储是对对象窗口的引用。存储,因此您可以将其用作其他对象:

获取项目数组

Object.keys(localStorage)
获取长度

Object.keys(localStorage).length
使用jquery进行迭代

$.each(localStorage, function(key, value){
   .....
})

您可以使用
Object.assign()

那么:

Object.keys(localStorage).map(k => localStorage.getItem(k))

您可以将
localStorage
用作普通对象,但不限于此

以下是一个更安全的解决方案:

for (let i = 0; i < localStorage.length; i++) {
    const key = localStorage.key(i);
    const value = localStorage.getItem(key);
    console.log({key, value})
}
for(设i=0;i
在chrome中对我有效,但firefox 3.6抛出了错误“TypeError:null具有无效的迭代器值null”@Kyle它在firefox 4中非常有效。它是昨天出来的,让我查一查。6@Kyle即使Firefox支持本地存储,也可以将其关闭。检查它是否已打开。转到about:config并检查dom.storage.enabled是否设置为true。是,它已启用。在执行
console.debug(localStorage)
时,我可以看到其中的测试变量。@Kyle您能运行JSFIDLE演示并查看是否出现相同的错误吗?jQuery?!脸掌
Object.keys(localStorage.forEach)(key=>console.log(localStorage[key])是否有一种方法可以获取所有域的条目,而不是当前选项卡中的条目?非常棒的解决方案
var data = Object.assign({}, localStorage)
Object.keys(localStorage).map(k => localStorage.getItem(k))
for (let i = 0; i < localStorage.length; i++) {
    const key = localStorage.key(i);
    const value = localStorage.getItem(key);
    console.log({key, value})
}