我想知道在 JavaScript 中更新多级对象集合成员的最佳方法是什么
这是我收藏的简化版:
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 使我的班级无法压缩 btw。
任何帮助将不胜感激。
提前致谢