0

こんにちは、ローカル ストレージに追加されるデータを制限する必要があります。ユーザーが最初のアイテムを削除する必要がある6番目のアイテムを追加した場合、保存する必要があるのは5つのアイテムだけです。私はその部分を達成しましたが、それを取得すると、削除されたデータが取得され、4 番目の項目がスキップされます。何か案は?

設定方法

 var _i = 0 //global;
 storage.setItem(_i, URL);

チェックリミット

if(storage.length >= 5)
{
   var _a = storage.getItem(0);
   storage.removeItem( _a );
   _a += 1;
}

取り出すとき

for( var _x = 1; _x <= storage.length - 1; _x++)
{
  var _url = storage.getItem(_x);
}

アップデート

ああ、キーインデックスを使用してアイテムを取得すると、削除されたデータが表示されず、4番目のデータがスキップされることを忘れていました。

更新 2

4 番目のレコードはスキップされませんが、削除されたデータが表示され、最後に追加されたデータは表示されません。例えば

the //first
avengers //second
are //third
coming //fourth
now //fifth
excited //sixth

特に 5 つに制限しているためthe、リストから削除してexcited追加する必要があります。正常に動作していますが、アプリケーションを閉じて返されるデータを取得しようとすると

the
avengers
are
coming
now

excitedそして、それは意味をなさないことを示していません

4

1 に答える 1

0

Web Storage キーの順序に依存することはできません。この質問を確認してください: HTML5 localStorage キーの順序
これを行う場合は、localStorage に格納される配列オブジェクトを使用するだけです。

于 2012-04-25T08:24:46.097 に答える