您好我需要限制添加到本地存储的数据。如果用户添加第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);
}
哦,我忘了提到当我使用键索引获取项目时它不会显示删除的数据,但不知何故会跳过第四个。
现在它不会跳过第四条记录,但会显示已删除的数据,但不显示最后添加的数据。 e.g
the //first
avengers //second
are //third
coming //fourth
now //fifth
excited //sixth
由于我将其明确限制为五(5)the
应从列表中删除,并应添加excited
。它做得很好,但当我关闭应用程序并尝试检索它返回的数据时
the
avengers
are
coming
now
并没有显示excited
我有意义吗?
答案 0 :(得分:0)
您不能依赖Web存储密钥的顺序。请查看此问题:HTML5 localStorage key order
如果你想这样做,只需使用一个存储在localStorage中的数组对象。