【发布时间】:2016-10-20 20:03:41
【问题描述】:
我有一个这样的对象:
{
"memory": {
"memory1":{
"schedule":"every day",
"measure": [
{ "date": "date 1", "value": "10" }
]
},
"memory2": {
"schedule":"every month",
"measure": [
{ "date": "date 2", "value": "40" },
{ "date": "date 3", "value": "22" }
]
},
"memory3": {
"schedule": "every day",
"measure": []
}
},
"loads": {
"load1": {
"schedule":"every day",
"measure": [
{ "date": "date 4", "value": "40" }
]
}
}
}
给定一个名称(在这个对象中是memory和loads)和一个类型(在这个对象中是memory1、memory2 ,memory2 用于内存,load1 用于负载
我需要向 measure 元素添加另一个对象,搜索他的姓名和类型。
例如,给定 memory 和 memory2 作为变量值和一个对象{ "date": "date 1", "value": "10" },我需要将其连接起来以测量第二个元素(即 memory2 ) 在第一棵记忆树中。
我也需要将“测量”数组保持不超过 10 个元素(FIFO 策略),但这是另一回事......
现在我已经使用新度量创建了一个新对象,但是如何在正确的树位置“替换”或“连接”它?
结果应该是:
{
"memory": {
"memory1":{
"schedule":"every day",
"measure": [
{ "date": "date 1", "value": "10" }
]
},
"memory2": {
"schedule":"every month",
"measure": [
{ "date": "date 2", "value": "40" },
{ "date": "date 3", "value": "22" },
{ "date": "date 3", "value": "22" } THIS IS THE ELEMENT TO ADD
]
},
"memory3": {
"schedule": "every day",
"measure": []
}
},
"loads": {
"load1": {
"schedule":"every day",
"measure": [
{ "date": "date 4", "value": "40" }
]
}
}
}
【问题讨论】:
-
这是关于动态访问和设置对象属性值吗..?
-
schedule 和 measure 属性是“静态的”,所有其他属性都是动态的。在一些树上我可以有记忆和负载,在其他树上我可以有门和桌子(我想到的前两个名字:))。 load1、memory1 等也是如此。我需要在树中找到这些名称,然后进行替换。但是,我认为唯一的方法是沿着树迭代并检查
===
标签: javascript lodash