为了账号安全,请及时绑定邮箱和手机立即绑定

获取HTML5 localStorage密钥

获取HTML5 localStorage密钥

12345678_0001 2019-10-25 11:19:28
我只是想知道如何在中获取所有关键值localStorage。我试图用一个简单的JavaScript循环来检索值for (var i=1; i <= localStorage.length; i++)  {   alert(localStorage.getItem(i))}但是仅当键是从1开始的渐进数字时,它才有效。如何显示所有键,以显示所有可用数据?
查看完整描述

3 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

在ES2017中,您可以使用:


Object.entries(localStorage)


查看完整回答
反对 回复 2019-10-25
?
弑天下

TA贡献1818条经验 获得超8个赞

for (var key in localStorage){

   console.log(key)

}

编辑:这个答案越来越多,所以我想这是一个普遍的问题。我觉得我应该归功于任何可能迷失我的答案并认为它“正确”的人,因为它被接受进行更新了。事实是,上面的示例并不是执行此操作的正确方法。最好和最安全的方法是这样做:


for ( var i = 0, len = localStorage.length; i < len; ++i ) {

  console.log( localStorage.getItem( localStorage.key( i ) ) );

}


查看完整回答
反对 回复 2019-10-25
?
慕娘9325324

TA贡献1783条经验 获得超4个赞

我喜欢这样创建一个容易看到的对象。


Object.keys(localStorage).reduce(function(obj, str) { 

    obj[str] = localStorage.getItem(str); 

    return obj

}, {});

我也用cookie做类似的事情。


document.cookie.split(';').reduce(function(obj, str){ 

    var s = str.split('='); 

    obj[s[0].trim()] = s[1];

    return obj;

}, {});


查看完整回答
反对 回复 2019-10-25
  • 3 回答
  • 0 关注
  • 596 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信