Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何清除javascript中的localstorage值_Javascript - Fatal编程技术网

如何清除javascript中的localstorage值

如何清除javascript中的localstorage值,javascript,Javascript,如何仅清除特定的本地存储值。例如,如果我有6个本地存储值,如sample1到sample6。 本地存储清除值: localStorage.setItem('sample1',''); localStorage.setItem('sample2',''); localStorage.setItem('sample3',''); localStorage.setItem('sample4',''); localStorage.setItem('sample5',''); localStorage.s

如何仅清除特定的本地存储值。例如,如果我有6个本地存储值,如sample1到sample6。 本地存储清除值:

localStorage.setItem('sample1','');
localStorage.setItem('sample2','');
localStorage.setItem('sample3','');
localStorage.setItem('sample4','');
localStorage.setItem('sample5','');
localStorage.setItem('sample6','');
我可以这样做而不是上面的脚本吗?但不起作用

 localStorage.setItem('sample1,sample2,sample3,sample4,sample5,sample6','');

有什么简单的方法吗?

您可以按指出的那样将密钥放入数组,使用循环遍历每个密钥,并使用从本地存储中删除密钥:

const keys = ['sample1','sample2','sample3','sample4','sample5','sample6']
keys.forEach(localStorage.removeItem)
注意,我们可以使用速记.forEachlocalStorage.removeItem over.ForEach=>localStorage.removeItem,因为我们只将一个元素传递给一个函数,所以速记可以为我们做到这一点

为了实现这一点,另一种方法是填充一个x元素长数组,并向每个元素附加一个索引,然后应用forEach来删除具有给定键的每个项:

Array6.fillsample.mapa,i=>a+i+1.forEachlocalStorage.removietem; 如果要“取消设置”或“清除”值,请改用setItem:


就像在评论中建议的那样,使用循环来实现这一点。但是,delete操作符并不是正确的处理方法。以下方面应起作用:

const itemsToRemove = ['sample1', 'sample2', 'sample3', 'sample4', 'sample5', 'sample6'];

for(const item of itemsToRemove) {
  localStorage.setItem(item, ‘’);
}
编辑

您可以将其包装到函数中:

function clearItems(list) {
  for (const item of list) {
    localStorage.setItem(item, ‘’);
  }
}

. . .

const itemsToRemove = ['sample1', 'sample2', 'sample3', 'sample4', 'sample5', 'sample6'];

clearItems(itemsToRemove);

如果你正在移除,考虑以下内容:


对于i=1;我为什么不使用循环?['sample1'、'sample2'、'sample3'、'sample4'、'sample5'、'sample6']。forEachk=>{delete localStorage[k];}清除或删除?阅读setItem的文档会告诉您为什么尝试不起作用。它不接受任意数量的参数不删除…只需取消设置然后用localStorage.setItemitem“”替换localStorage.RemoveItem,键将保留为空值。刚刚编辑了我的答案btw@cinnan你为什么要取消它们?如果您对不存在的项调用getItem,它将返回null,这应该是您想要取消设置它们的唯一用例。
function clearItems(list) {
  for (const item of list) {
    localStorage.setItem(item, ‘’);
  }
}

. . .

const itemsToRemove = ['sample1', 'sample2', 'sample3', 'sample4', 'sample5', 'sample6'];

clearItems(itemsToRemove);