javascript - localStorage - 将对象附加到对象数组

标签 javascript client-side local-storage

我正在尝试将一个对象本地存储在一个对象的数组中。

如果我在控制台中尝试以下操作,它会完美运行:

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

知道如何让它工作吗?

干杯

最佳答案

你只能在本地存储中存储字符串。您需要对对象进行 JSON 编码,然后将生成的字符串存储在 localStorage 中。当您的应用程序启动时,JSON 解码您保存在 localStorage 中的值。

localObj = {}
localObj.localArray = []
localObj.localArray.push(arrayObj)

localStorage.localObj = JSON.stringify(localObj);
...
localObj = JSON.parse(localStorage.localObj);

关于javascript - localStorage - 将对象附加到对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7228707/

相关文章:

javascript - 用于客户端和服务器端渲染的模板语言

performance - 哪些 CSS 选择器或规则可以显着影响现实世界中的前端布局/渲染性能?

cordova - PhoneGap 应用程序的最佳数据库选项?

javascript - 重新加载后如何保存对列表的更改

javascript - 掷骰子脚本分布均匀吗? (使用 Math.random())

javascript - json api get请求错误

javascript - Kendo UI 树列表和 Angular - 如何确定它是否已完全加载?

javascript - Webix Datatable onclick 无法获取选定行数据

javascript - 在客户端加载 ASP.net 页面

javascript - 如何在用户端重置localStorage一次?