如何限制数据存储到本地存储并检索它?
问题描述:
嗨,我需要限制数据被添加到我的本地存储。如果用户添加第六个项目,第一个项目应该删除,我只需要存储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
难道我说的吗?
没有变化。我仍然有这个问题。请注意,如果长度达到或超过5,我将移除项目。 – jongbanaag 2012-04-25 08:48:24
我们能否看到您的代码? – 2012-04-25 09:11:46
看到这个http://jsfiddle.net/vJkBQ/4/的答案http://stackoverflow.com/questions/18606256/push-not-working-in-javascript?noredirect=1#comment27386544_18606256。它可以帮助你使用'getItemIndexById'函数。 – Nothing 2013-12-07 03:03:58