一个简单的问题,我想使用 javascript 更新 json 而无需迭代。
示例:
{ "parent":{
"id":"1",
"status":"Bad",
"children":[
{
"id":"2",
"status":"Good",
"children":[
{
"id":"3",
"status":"Bad",
"children":[
]
},
{
"id":"4",
"status":"Bad",
"children":[
]
}
]
},
{
"id":"4",
"status":"Bad",
"children":[
{
"id":"3",
"status":"Bad",
"children":[
]
},
{
"id":"4",
"status":"Bad",
"children":[
]
}
]
}
]
}}
在这个树结构中,id 对很多对象来说都是通用的。如果我想更新“3”的所有 ID 的状态,目前正在继续迭代以找到相应的 ID 并更新状态。这非常耗时,有没有一种方法可以在不迭代的情况下使用 id 更新状态。
我找到了一个名为“pinch”的 js,但它没有用,它在内部进行相同的迭代。那么有没有一种方法可以在不进行迭代的情况下更新状态。
我也欢迎最好的遍历想法。
最佳答案
你可以像这样存储你的对象:
objs = [
{"id":"1","status":"Bad",children:[]},
{"id":"2","status":"Good",children:[]},
{"id":"3","status":"Bad",children:[]},
{"id":"4","status":"Bad",children:[]}]
objs[0].children=[objs[1],objs[2]]
objs.map(function(t){t.status="Updated"})
以这种方式,JS 通过链接处理参数,您可以对列表执行任何操作 - 更改也会出现在 json obj 中。
关于javascript - 使用 javascript 为层次结构对象更新 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20985509/