javascript - 如何在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','');
有什么简单的方法吗?
解决方案
您可以将键放入一个数组中(正如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, ''))
推荐阅读
- excel - VBA - 如何在 Excel 工作表的名称末尾创建没有 (2) 的同名 Excel 工作表?
- java - 为 Apache Camel Http 组件禁用或设置 SSL
- c++ - 当键值作为输入时打印无序映射值
- sql - SQL 存储过程更新循环
- php - 如何在不使用重新排序的键号的情况下循环遍历 php/laravel 中的重新排序的数组
- javascript - asp中select的使用值
- wordpress - 自定义帖子类型的常用分类页面
- python - 使用源为 MYSQL 的 Python 检索上个月的数据
- video - HTML
- netlogo - Netlogo:减去以前扩散的值