使用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/

10-16 20:04