首页 > 解决方案 > 如何在javascript中清除本地存储值

问题描述

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

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','');

有什么简单的方法吗?

标签: javascript

解决方案


您可以将键放入一个数组中(正如niet指出的那样),用 循环遍历每个键forEach,并使用removeItem它从 localStorage 中删除它:

const keys = ['sample1','sample2','sample3','sample4','sample5','sample6']
keys.forEach(localStorage.removeItem)

注意,我们可以使用简写.forEach(localStorage.removeItem).forEach(e => localStorage.removeItem(e))因为我们只将一个元素传递给一个函数,所以简写会为我们做这件事。


另一种方法(由Shyrs提议)是填充一个x元素长数组并为每个元素附加一个索引,然后应用一个 forEach 来删除具有给定键的每个项目:

Array(6).fill("sample").map((a,i)=>a+(i+1)).forEach(localStorage.removeItem);

如果您想“取消设置”或“清除”这些值,请setItem改用:

const keys = ['sample1','sample2','sample3','sample4','sample5','sample6']
keys.forEach(key => localStorage.setItem(key, ''))

推荐阅读