此问题已经在这里有了答案:
我有一个对象存储在localStorage中。
let ship = {
name: "black pearl",
captain: "Jack Sparraw"
};
localStorage.setItem("ship", JSON.stringify(ship));
现在我想将“名称”更改为新名称。如何使用Javascript实现?
(以下代码不起作用,但是它给出了我想要做什么的想法)
localStorage.setItem(localStorage.getItem("ship").name, "newName");
您检索JSON,对其进行解析,更新从解析中获得的对象,对结果进行字符串化,然后存储该结果:
const ship = JSON.parse(localStorage.getItem("ship"));
ship.name = "newName";
localStorage.setItem("ship", JSON.stringify(ship));
如果您想全部完成一行操作(尽管我不建议这样做,则更难于以这种方式读取,维护和调试;将缩小保留给缩小符):
localStorage.setItem("ship", JSON.stringify(Object.assign(JSON.parse(localStorage.getItem("ship")), {name: "newName"})));