Javascript 尝试更改对象内的元素值

Javascript 尝试更改对象内的元素值,javascript,Javascript,我试图从本地存储中获取一些价值。该值由一个数组组成,该数组包含包含主题内元素的对象, 我试图更改其中一个对象中特定元素的值,并将其设置回本地存储 let x = JSON.parse(localStorage.getItem("Checker")); var y = JSON.parse(x); var z = JSON.parse(y[1]) 这是varz的值: {task: " t", date: "2020-03-02", time: "01:01", number: 1} 我的问题是

我试图从本地存储中获取一些价值。该值由一个数组组成,该数组包含包含主题内元素的对象, 我试图更改其中一个对象中特定元素的值,并将其设置回本地存储

let x = JSON.parse(localStorage.getItem("Checker"));
var y = JSON.parse(x);
var z = JSON.parse(y[1])
这是var
z
的值:

{task: " t", date: "2020-03-02", time: "01:01", number: 1}

我的问题是如何将正确设置为1的元素“number”更改为4,并将其设置回本地存储?

将x更改为所需的值,然后使用:

localStorage.setItem('Checker', JSON.stringify(x))

您可以使用
json.stringyfy()
方法将json对象设置回本地存储

let x = JSON.parse(localStorage.getItem("Checker"));
var y = JSON.parse(x);
var z = JSON.parse(y[1])
已编辑

    z.number = 4;
    y[1] = z
    console.log(y);
    localStorage.setItem("Checker " , JSON.stringify(y));

JSON.parse
是递归的,当它应用于
x
时,它将应用于其中嵌套的任何对象:

var x = JSON.parse(localStorage.getItem("Checker"));
x[1].number = 4;
localStorage.setItem("Checker", JSON.stringify(x));

后退一步。差不多

// z == {task: " t", date: "2020-03-02", time: "01:01", number: 1}

z.number = 4;
y[1] = JSON.stringify(z);
localStorage.setItem("Checker", JSON.stringify(JSON.stringify(y)));
我想


但是,以这种方式存储数据只会引起错误。

这是JavaScript的基础
z.number=4
为什么要使用需要
JSON.parse(JSON.parse(JSON.parse(…)))
?这没有用,因为它改变了“Checker”的整个值到Z并删除每个其他对象…好的,所以您只想更新某些值@SahiBalataCheckout我的更新代码。它会解决你的问题@萨希巴拉塔