我正在寻找一种从 localStorage 中获取所有信息的方法。我遇到的问题是我不知道数据是什么,因为它是用户生成的。
所以这里发生了什么,用户输入了一些文本,它使用 javascript 根据他们在输入表单上勾选的复选框来操作它。这些框用于符号,例如,如果它们勾选 @ 的框,则文本 + @At(符号然后是单词)将被放置在本地存储中,另一半作为 bool 值(在本例中为 1 或 0)表示是否被检查。
确切的对应该是这样的:
someString..@At | 1
someString..#Hash | 0
等等
还应该注意的是,这是为了在 Chrome 扩展中使用,所以在其他浏览器中的兼容性对我来说不是必需的(尽管它对其他阅读本文的人很有用,因为我找不到任何其他涵盖它在网络上)。
那么,如果无论如何我都可以在不知道每个键的名称的情况下提取 localStorage 中的所有值? 是否可以使用任何类型的通配符或正则表达式,我已经尝试过了,但应该使用 for 循环使其工作。
谢谢, 维兹
最佳答案
window.localStorage.key 是解决方案。 示例:
var i = 0,
oJson = {},
sKey;
for (; sKey = window.localStorage.key(i); i++) {
oJson[sKey] = window.localStorage.getItem(sKey);
}
console.log(oJson);
关于javascript - 从 LocalStorage 中检索所有数据(不知道键名),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9144982/