所以,我认为我可以像普通对象一样循环遍历localStorage,因为它有一个长度.我怎么能循环呢?
localStorage.setItem(1,'Lorem');
localStorage.setItem(2,'Ipsum');
localStorage.setItem(3,'Dolor');
Run Code Online (Sandbox Code Playgroud)
如果我做了localStorage.length它返回3哪个是正确的.所以我假设for...in循环可行.
我想的是:
for (x in localStorage){
console.log(localStorage[x]);
}
Run Code Online (Sandbox Code Playgroud)
但无济于事.有任何想法吗?
我的另一个想法就是这样
localStorage.setItem(1,'Lorem|Ipsum|Dolor')
var split_list = localStorage.getItem(1).split('|');
Run Code Online (Sandbox Code Playgroud)
其中for...in确实有效.
使用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的动态命名部分有任何想法?