7

たとえば、何千人もの学生がいる場合を考えてみましょう。

したがって、オブジェクトの配列があります。

students = [

{ "name":"mickey", "id","1" },
{ "name":"donald", "id","2" }
{ "name":"goofy", "id","3" }
...

];

現在、これをローカルストレージに保存する方法は次のとおりです。

localStorage.setItem('students', JSON.stringify(students));

これを localstorage から取得する方法は次のとおりです。

var data = localStorage.getItem('students');
students = JSON.parse(data);    

これで、1 人の生徒に変更を加えるたびに、すべての生徒を localStorage に保存する必要があります。

students[0].name = "newname";
localStorage.setItem('students', JSON.stringify(students));

配列を保持するのではなく、何千もの変数を持つ方が良いのではないかと思っていました

localStorage.setItem('student1', JSON.stringify(students[0]));
localStorage.setItem('student2', JSON.stringify(students[1]));
localStorage.setItem('student3', JSON.stringify(students[2]));
...

そうすれば、生徒は残りを救わずに個別に救われることができますか?

多くの「学生」がいる可能性があります..数千人。では、ローカルストレージ内の配列または多くの変数のどちらが優れているのでしょうか?

注: おそらく IndexedDB を使用する必要があることはわかっていますが、今のところ LocalStorage を使用する必要があります。ありがとう

4

2 に答える 2

1

特定のケースでは、学生を1つのlocalStorageキーに保存し、JSON解析を使用してオブジェクトを再構築し、追加してから再度文字列化する方が簡単で、各学生ごとに異なるキーに分割するよりも簡単です。

IndexedDB のような実際のローカル データベースが本当に必要なほど多くのデータ レイヤーがない場合は、単一のキーと JSON 文字列値で十分です。

于 2013-01-06T17:34:16.100 に答える
0

ローカル ストレージのサイズには制限があり、古いブラウザーではサポートされません。

いくつかの理由から、配列に格納することをお勧めします。

  • それらを処理するためにループを使用できます
  • JSON は不要
  • 常に成長可能
于 2013-01-06T17:22:04.337 に答える