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

How do I use a for loop with localStorage to remove an item?

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

我错过了什么?

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

localStorage.removeItem('order');

无需循环遍历项目。

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

localStorage.setItem("order", 1);

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

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

localStorage.removeItem('order');

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