设置嵌套对象的值,我想知道什么是更新多对象集合的成员在JavaScriptJavaScript的:通过ID
这里最好的办法是我收集的简化版本:
this.Steps = [
{ id: 1, text: "test", childSteps:
[
{ id: 2, text: "test"},
{ id: 3, text: "test"},
{ id: 4, text: "test", childSteps:
[
{ id: 10, text: "test"},
{ id: 11, text: "test"}
]}
},
{ id: 5, text: "test"},
{ id: 6, text: "test"},
{ id: 7, text: "test"},
{ id: 8, text: "test"},
{ id: 9, text: "test"}
]
}
];
理想的做法是有一个函数被调用,如:
updateObjectByID(11, 'string to be set');
这是很容易的时候,我们只有1级对象的工作要做。但是当在多级集合上使用递归时,它变得更加困难。
我目前使用的是分析整个收集和建筑物串像一个功能:
this.Steps[0].childSteps[3].childSteps[1].text == "string to be set"
,然后我该字符串做eval()
。
我敢肯定,可能有更清洁的解决方案。
使用eval使我的课无法压缩顺便说一句。
任何帮助将不胜感激。
在此先感谢
“*解析整个集合*”...然后在这之后仍然必须使用'eval'?不能相信,请告诉我们该代码。 – Bergi
Infact解析整个集合和构建字符串以更新集合成员。 – Tigoes
如果我改变对象参数,它只会改变对象的引用,而不会改变我的集合,因为当做递归时,我会发送childSteps作为参考。 – Tigoes