Javascript - 引用嵌套对象

标签 javascript object reference nested

我有一个相当复杂的嵌套对象,例如:

A = {b : {c : { d : [{e:false},{g:true}] } } }

通过一些算法我找到了d

现在我有一个 A, Z = clone(A)

的克隆

我希望能够修改 Z 中的 d。我怎样才能以某种方式存储 d 的位置,以便我可以转到 Z 中的该位置并修改它。如果这是一个列表,我可以只存储索引并在同一索引处进行修改。我当然可以在树中搜索 d,但我不能假设唯一的属性名称,即使我可以,这也会很慢

有什么想法吗?

最佳答案

当您的算法找到 d 时,创建一个属性集合来指定如何找到 d。在这种情况下,它看起来像这样

["b", "c", "d"]

然后你可以循环遍历集合来遍历Z以获取d的克隆:

properties = ["b", "c", "d"];
newD = Z;
for(var i = 0; i < properties.length; i++){
  newD = newD[properties[i]];
}

关于Javascript - 引用嵌套对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8858744/

相关文章:

javascript - 在 DOM 中存储数据的正确方法是什么

javascript - 如何使用typescript和javascript导入npm包中的js

javascript - 工具提示位置外观问题

javascript - 获取属性的值 - javascript

C# 动态扩展一个对象

c++ - 如何在 C++ 中使用 "return an object"?

javascript - 拖放后将 Google Map Marker 的新纬度和经度保存到文本框

java - OOP 中的对象数组

asp.net - Crystal Report 引擎运行时错误

visual-studio - 在 Visual Studio 中引用 COM 程序集与通过 tlbimp.exe 转换 COM 程序集