我的本地存储中有多个键:task-1,task-2, task-3 ...我正在寻找一种方法来获取以字符串“tasks-”开头的键的总数,以便将其放置在我的循环中,而不是localStorage.length

实际上,如果我有另一个使用localstorage的应用程序,则循环将返回一个长度,该长度对应于localStorage中的所有键,包括不在所讨论应用程序中的键。

   i=0;

   if(localStorage.getItem("task-"+i) != null){

     for( i = 0; i < localStorage.length; i++){

       console.log(i)

     }
  }

非常感谢你的帮助

最佳答案

如果您控制这些项目的创建,则将它们存储在对象中并使用JSON在对象和字符串之间进行转换会更有意义:

var tasksObject = {
    task1: ...,
    task2: ...,
    ...
};

window.localStorage.setItem('tasks', JSON.stringify(tasksObject));

... later ...

var tasks = JSON.parse(window.localStorage.getItem('tasks'));

for (var task in tasks) {
    // do stuff
}

08-25 16:46
查看更多