5

ローカルストレージに複数のキーがtask-1,task-2, task-3 ...あります。文字列「tasks-」で始まるキーの合計を取得して、代わりにループに配置する方法を探していますlocalStorage.length

実際、ローカルストレージを使用する他のアプリがある場合、ループは、問題のアプリの外にあるものを含め、ローカルストレージ内のすべてのキーに対応する長さを返します。

   i=0;

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

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

       console.log(i)

     }
  }

助けてくれてどうもありがとう

4

3 に答える 3

1

これらのアイテムの作成を制御する場合は、それらをオブジェクトに格納し、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
}
于 2012-08-07T18:28:55.343 に答える
0

ステートメントを切り替える必要があります。すべてをループして、各アイテムが条件に一致するかどうかを確認します。

var count = 0;
for(i = 0; i < localStorage.length; i++){ 
    if(localStorage.getItem("task-"+i) != null){
        console.log(i)
        count++;
    }
}
// count contains number of items beginning with task
于 2012-08-07T18:29:20.803 に答える