首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取HTML5 localStorage密钥

获取HTML5 localStorage密钥
EN

Stack Overflow用户
提问于 2011-12-08 01:04:00
回答 12查看 155.1K关注 0票数 170

我只是想知道如何获得localStorage中的所有键值。

我尝试使用一个简单的JavaScript循环来检索值

代码语言:javascript
复制
for (var i=1; i <= localStorage.length; i++)  {
   alert(localStorage.getItem(i))
}

但只有当关键字是从1开始的渐进式数字时,它才有效。

如何获取所有密钥,以便显示所有可用数据?

EN

回答 12

Stack Overflow用户

回答已采纳

发布于 2019-07-06 20:44:02

在ES2017中,您可以使用:

代码语言:javascript
复制
Object.entries(localStorage)
票数 66
EN

Stack Overflow用户

发布于 2011-12-08 01:13:28

代码语言:javascript
复制
for (var key in localStorage){
   console.log(key)
}

编辑:这个答案得到了很多人的好评,所以我猜这是一个常见的问题。我觉得我应该感谢那些偶然发现我的答案并认为它是“正确的”的人,因为它被接受来进行更新。事实是,上面的例子并不是真正正确的方法。最好也是最安全的方法是这样做:

代码语言:javascript
复制
for ( var i = 0, len = localStorage.length; i < len; ++i ) {
  console.log( localStorage.getItem( localStorage.key( i ) ) );
}
票数 316
EN

Stack Overflow用户

发布于 2015-02-04 02:26:07

我喜欢用它来创建一个容易看到的对象,就像这样。

代码语言:javascript
复制
Object.keys(localStorage).reduce(function(obj, str) { 
    obj[str] = localStorage.getItem(str); 
    return obj
}, {});

我对cookie也做了类似的事情。

代码语言:javascript
复制
document.cookie.split(';').reduce(function(obj, str){ 
    var s = str.split('='); 
    obj[s[0].trim()] = s[1];
    return obj;
}, {});
票数 33
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8419354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档