我正在寻找一种从localStorage获取所有信息的方法。我遇到的麻烦是我不知道数据是什么,因为它是用户生成的。
所以在这里会发生什么,用户输入一些文本,它使用javascript来操作它,具体取决于他们在输入表单上勾选的复选框。这些框用于符号,例如,如果它们勾选@的框,则文本+ @At(符号然后字)将被放置在本地存储中,另一半作为布尔值(在这种情况下为1或0)表示是否已经过检查。
确切的一对看起来像这样:
someString .. @ At | 1
someString .. #Hash | 0
等
还应该注意,这是用于Chrome扩展程序,因此对我来说不需要在其他浏览器中兼容(尽管对于阅读此内容的其他人来说这可能很有用,因为我找不到任何其他内容它在网上)。
那么,如果无论如何我可以在不知道每个密钥的名称的情况下提取localStorage中的所有值? 是否可以使用任何类型的通配符或正则表达式,我已经尝试过这个但是应该使用for循环。
谢谢, WEZ
答案 0 :(得分:21)
window.localStorage.key是解决方案。 例如:
var i = 0,
oJson = {},
sKey;
for (; sKey = window.localStorage.key(i); i++) {
oJson[sKey] = window.localStorage.getItem(sKey);
}
console.log(oJson);