清除localstorage中的对象

Ale*_*lex 9 javascript html5 local-storage

使用localstorage我有一大堆未指定的项目使用动态名称保存使用数据名称空间,如下所示:

localStorage["myAppName.settings.whatever"] = something.whatever; 

//and this:
localStorage["myAppName.data."+dynObj.name] = dynObj.data;
Run Code Online (Sandbox Code Playgroud)

我想保留设置,但不保留数据.但是,我永远不会知道我的数据对象中的所有名称是什么,所以我无法单独清除它们.我需要在每次加载应用程序时清除这些内容,但我必须保留设置,因此 localstorage.clear()不是一个选项.

我试过了:

localstorage.removeItem("myAppName.data")
Run Code Online (Sandbox Code Playgroud)

但没有骰子.

任何人对如何清除localstorage的动态命名部分有任何想法?

Nik*_*las 20

您可以遍历localStorage中的键并使用reg exp来定位它们:

Object.keys(localStorage)
      .forEach(function(key){
           if (/^(myAppName.data.)/.test(key)) {
               localStorage.removeItem(key);
           }
       });  
Run Code Online (Sandbox Code Playgroud)

这是一个类似的问题:HTML5 Localstorage&jQuery:删除以某个单词开头的localstorage键