【问题标题】:How do I use a for loop with localStorage to remove an item?如何使用带有 localStorage 的 for 循环来删除项目?
【发布时间】:2015-10-23 10:19:49
【问题描述】:

我尝试从 localStorage 中删除特定数据,发现this 问题。

其中一个答案似乎使用 localStorage 作为数组,但我没有 jQuery。为了找到特定的键(和值),我尝试使用 for 循环:

localStorage.setItem("order", 1);
for(var i=0; i<localStorage.length; i++){ 
    var item=localStorage[i];
    if (item == 'order')  
    {
        alert(item);
        // I want to inspect the value...
        // and then remove it
        localStorage.removeItem(item);
    }
}

此代码永远不会发出警报,并且值 order 仍然存在。

我错过了什么?

【问题讨论】:

  • 你想达到什么目的?是否要移除值为“order”的键值对?
  • 为什么需要循环?为什么不只是localStorage.removeItem('order');
  • 是的,这就是我想要完成的。他们的键 order 不应再在 localStorage 中
  • @ccnokes 键和值应检查删除。
  • 如果您需要检查密钥及其内容,localStorage.getItem('order') 将返回密钥的内容。

标签: javascript local-storage


【解决方案1】:

localStorage 是一个对象,你可以像这样循环遍历它

localStorage.setItem("order", 1);

for (var attr in localStorage){
   if (attr == 'order') {
       alert(localStorage[attr]);
       localStorage.removeItem(attr);
   }
}

虽然没有理由循环,你可以简单地调用

localStorage.removeItem('order');

如果您已经知道密钥的名称!

【讨论】:

    【解决方案2】:

    要从 localStorage 中删除某个键值对,使用 Storage.removeItem() 和正确的键

    localStorage.removeItem('order');
    

    无需循环遍历项目。

    【讨论】:

      猜你喜欢
      • 2013-10-08
      • 2011-01-04
      • 2015-10-18
      • 1970-01-01
      • 2021-05-21
      • 1970-01-01
      • 2019-11-05
      • 2014-06-28
      • 2014-11-13
      相关资源
      最近更新 更多