从javascript中删除HTML 5 localStorage数据

时间:2013-09-29 15:05:24

标签: javascript local-storage

我知道我可以在javascript中创建JSON格式的数据

data = JSON.parse(localStorage.something);
data[0] == "some data";

但是当我试图删除它不起作用时。

delete data[0];

2 个答案:

答案 0 :(得分:3)

delete data[0]只会从data数组中删除该项,而不是localStorage项(因为您已经知道该项是字符串)。

您必须保存更改。另外我建议使用data.shift()根据minitech的注释而不是delete - delete更适合对象属性,而不是数组索引。

data = JSON.parse(localStorage.something);
data.shift(); // delete data[0] without breaking sequence
localStorage.something = JSON.stringify(data);

答案 1 :(得分:2)

完成后:

data = JSON.parse(localStorage.something);

然后data变量包含一个从属对象,该对象从现在开始与localStorage完全分离(localStorage只存储需要解析的String,而不是'真正的'对象)。

如果更改它,则需要手动更新本地存储:

localStorage.setItem("something", JSON.stringify(data));

作为旁注:如果您的目标是旧浏览器,那么请确保包含类似json2.js的内容,以使JSON对象在任何地方都能正常工作。