在这里发表第一篇文章
我正在尝试复制这种JSON对象,以便我可以使用stringify将其存储在localStorage中:
我希望能够在捕获事件时在历史记录内创建一个新的noteState但不知道该怎么做...
var history = {
"noteState1": [
{created: new Date(),
modified: new Date(),
left: "100",
top: "200",
text: "hello"},
{created: new Date(),
modified: new Date(),
left: "150",
top: "250",
text: "new"},
{created: new Date(),
modified: new Date(),
left: "200",
top: "300",
text: "world"}
],
"noteState2": [
{created: new Date(),
modified: new Date(),
left: "100",
top: "200",
text: "hello"},
{created: new Date(),
modified: new Date(),
left: "150",
top: "250",
text: "new"},
{created: new Date(),
modified: new Date(),
left: "200",
top: "300",
text: "world"}
]
}
如何在历史记录中创建一个包含单个数组的新成员?
答案 0 :(得分:5)
你不修改json字符串 - 这太冒险了。而是将它转换回本机javascript数组/对象,在其上使用常规数组push / pop类型运算符,然后转换回json字符串。
答案 1 :(得分:0)
为什么不能将历史记录保存为对象数组,然后添加新的noteState?如果要存储数组,只需将历史数组中的每个noteStates插入JSON对象即可。
答案 2 :(得分:0)
在执行任何操作之前,将这些json字符串转换为对象。通过这样做,您可以轻松地将名称空间添加到历史记录中,如下所示:
history.noteStateX = { x:1,y:2 };
现在历史上有这个属性以及其他属性。