[英]localStorage - append an object to an array of objects
我正在嘗試在對象內的數組中本地存儲對象。
如果我在我的控制台中嘗試以下操作,它可以完美地工
theObject = {}
theObject.theArray = []
arrayObj = {"One":"111"}
theObject.theArray.push(arrayObj)
但是,如果我按照我認為相同的方式執行操作,除了將結果存儲在localStorage中之外,它將失敗:
localStorage.localObj = {}
localStorage.localObj.localArray = []
stringArrayObj = JSON.stringify(arrayObj)
localStorage.localObj.localArray.push(stringArrayObj)
我收到以下錯誤...
localStorage.localObj.localArray.push(stringArrayObj)
TypeError
arguments: Array[2]
message: "—"
stack: "—"
type: "non_object_property_call"
__proto__: Error
知道我怎么能讓這個工作嗎?
干杯
您只能在localStorage中存儲字符串。 您需要對對象進行JSON編碼,然后將結果字符串存儲在localStorage中。 當您的應用程序啟動時,JSON解碼您在localStorage中保存的值。
localObj = {}
localObj.localArray = []
localObj.localArray.push(arrayObj)
localStorage.localObj = JSON.stringify(localObj);
...
localObj = JSON.parse(localStorage.localObj);
LocalStorage只能存儲key為字符串且值為字符串的鍵值對。 您可以將整個對象層次結構序列化為JSON,並將其另存為localStorage項目。
根據V8的消息來源(我假設您使用谷歌Chrome但希望這與其他JS引擎沒有什么不同)TypeError與消息'non_object_property_call'比在undefined或null值上調用的方法發生。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.