簡體   English   中英

嘗試更改對象內的元素值

[英]Trying to change an element value inside an Object

我正在嘗試從本地存儲中獲取一些價值。 該值由包含對象的數組組成,該對象包含主題內的元素,我試圖在其中一個對象內更改特定元素的值並將其設置回本地存儲。

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的元素“數字”更改為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)));

我認為。

但是以這種方式存儲數據只是在尋找錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM