【发布时间】:2018-10-01 16:09:57
【问题描述】:
我有一个非常大的嵌套对象(字符串化为 4mb),如下所示,深度可能为 15-20 级:
{
"a": 5,
"b": {
"0": 1,
"1": "x",
"length": 2
},
"x": {
"a": 1,
"1": "z"
},
"c": {
"0": 3,
"1": "Am",
"3": {
"0": 3,
"1": "x",
"2": {
"0": 3,
"1": "Y",
"length": 2
},
"length": 3
},
"length": 4
}
}
在页面上的每个操作之后,对象的某些属性被更改,不知道是什么,例如以上变为以下(参见 c["3"]["2"]):
{
"a": 5,
"b": {
"0": 1,
"1": "x",
"length": 2
},
"x": {
"a": 1,
"1": "z"
},
"c": {
"0": 3,
"1": "Am",
"3": {
"0": 3,
"1": "x",
"2": {z:5,n:"y"},
"length": 3
},
"length": 4
}
}
我不能每次都存储整个对象,因为它会溢出内存。所以我只想跟踪变化。 因此,当重播动作时,我只需更改对象的那一部分,它就会显示新对象。
注意:我不想以迭代方式比较对象,因为对象大小非常大,计算也会花费我很多。
我不知道如何开始。
我认为散列对象属性的某种方式应该会有所帮助(就像 angularJS 在其摘要周期中所做的那样)。
【问题讨论】:
-
为什么不用数据库?
-
我正在开发 chrome 扩展。
-
不要使用大引号来强调。仅在引用某些内容时使用块引用。
-
好的,谢谢先生
-
为什么不存储动作?... 一种“命令”模式的方法。
标签: javascript json