这是一个简单而愚蠢的问题。我想使用 localStorage.removeItem('itemhere') 函数。我的情况是我只想删除所有具有特定结尾(例如“_email”)的本地存储项目。反正有没有针对这个?也许就像通用选择器 *(星号)一样? https://api.jquery.com/all-selector/
我试过 *(星号)方法但没有结果
这些对我不起作用,所以我不确定是否可行。
localStorage.removeItem('* _email');
localStorage.removeItem(*'_email');
localStorage.removeItem(*' _email');
also a variable such as
var email = $("*").localStorage("_email");
代码假设适合如下变化函数。
$('.sar').on('change', function () {
$(this).closest('form').find('input[type=radio].rgroup').prop('checked', true);
localStorage.setItem('all1', JSON.stringify(true));
localStorage.removeItem('all2');
localStorage.removeItem('all3');
localStorage.removeItem('uncheck');
localStorage.removeItem("* _email");
});
我希望所有以“_email”结尾的本地存储条目都从本地存储中删除,而其他条目则保留在原位。
最佳答案
您可以通过遍历本地存储中的所有元素来手动完成此操作。
这从您的 localStorage 对象中将所有键作为数组提供:
Object.keys(localStorage)
使用过滤器,根据您的条件过滤它们:
.filter(key => key.endsWith('_email'))
然后从localStorage中将它们一一移除:
.forEach(key => localStorage.removeItem(key))
结果:
Object.keys(localStorage)
.filter(key => key.endsWith('_email'))
.forEach(
key => localStorage.removeItem(key)
)
关于javascript - 无论如何在本地存储中使用星号或其他方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57350133/