使用localstorage时,我有大量未指定的项目,它们使用数据 namespace 以动态名称保存,如下所示:
localStorage["myAppName.settings.whatever"] = something.whatever;
//and this:
localStorage["myAppName.data."+dynObj.name] = dynObj.data;
我要保留设置,但不保留数据。但是,我永远都不知道数据对象内部的所有名称是什么,因此我无法单独清除它们。每次加载我的应用程序时,我都需要清除这些内容,但我必须保留设置,以便
localstorage.clear()
不是一个选项。我试过了:
localstorage.removeItem("myAppName.data")
但没有骰子。
是否有人对如何清除本地存储的动态命名部分有任何想法?
最佳答案
您可以循环遍历localStorage中的键,并使用正则表达式来定位它们:
Object.keys(localStorage)
.forEach(function(key){
if (/^(myAppName.data.)/.test(key)) {
localStorage.removeItem(key);
}
});
这是一个类似的问题:ojita关于javascript - 从本地存储清除对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9566276/