从 JavaScript 中删除 HTML 5 localStorage 数据

delete HTML 5 localStorage data from javascript

本文关键字:localStorage 数据 HTML 删除 JavaScript      更新时间:2023-09-26

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

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

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

delete data[0];

delete data[0]只会从data数组中删除该项目,这不是localStorage项(因为,正如您已经知道的那样,该项是一个字符串(。

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

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

完成后:

data = JSON.parse(localStorage.something);

然后data变量包含一个 idependent 对象,从现在开始,它与 localStorage 完全分离(它只存储一个无论如何都需要解析的字符串,而不是"真正的"对象(。

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

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

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