如何使用带有localStorage的for循环删除项目?

时间:2015-07-31 16:45:34

标签: javascript local-storage

我尝试从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仍然存在。

我错过了什么?

2 个答案:

答案 0 :(得分:2)

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

localStorage.removeItem('order');

无需遍历项目。

答案 1 :(得分:0)

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

localStorage.setItem("order", 1);

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

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

localStorage.removeItem('order');

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