如何使用Javascript [duplicate]更改本地存储中项目的值

问题描述 投票:0回答:1

此问题已经在这里有了答案:

我有一个对象存储在localStorage中。

let ship = {
    name: "black pearl",
    captain: "Jack Sparraw"
  };

 localStorage.setItem("ship", JSON.stringify(ship));

enter image description here

现在我想将“名称”更改为新名称。如何使用Javascript实现?

(以下代码不起作用,但是它给出了我想要做什么的想法)

 localStorage.setItem(localStorage.getItem("ship").name, "newName");
javascript json local-storage
1个回答
0
投票

您检索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"})));
© www.soinside.com 2019 - 2024. All rights reserved.