如何限制数据存储到本地存储并检索它?

时间:2012-04-25 07:48:27

标签: javascript html5 cordova local-storage

您好我需要限制添加到本地存储的数据。如果用户添加第6个项目,我只需要存储5个项目,应该删除第一个项目。我完成了那部分但是在检索它时,它检索删除的数据并跳过第四个项目。有什么想法吗?

我如何设置

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

checkLimit

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);
}

更新

哦,我忘了提到当我使用键索引获取项目时它不会显示删除的数据,但不知何故会跳过第四个。

更新2

现在它不会跳过第四条记录,但会显示已删除的数据,但不显示最后添加的数据。 e.g

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

由于我将其明确限制为五(5)the应从列表中删除,并应添加excited。它做得很好,但当我关闭应用程序并尝试检索它返回的数据时

the
avengers
are
coming
now

并没有显示excited我有意义吗?

1 个答案:

答案 0 :(得分:0)

您不能依赖Web存储密钥的顺序。请查看此问题:HTML5 localStorage key order
如果你想这样做,只需使用一个存储在localStorage中的数组对象。