我需要克隆使用TreeModel.js制作的树。我真正需要做的是复制它,对其进行更改并检查节点数量是否减少。如果是这样,请恢复到原始树。这是我到目前为止复制它的一个小例子,这是不正确的:
var tree = new TreeModel();
var root = tree.parse({
id: 0,
name: "Root",
children: [{id: 1, name: "1", children: []},{id: 2, name: "2", children: []}]
});
console.log(root)
var dup = tree.parse(root)
console.log(dup)
这是一个小提琴。通过查看控制台,您将看到树之间的区别:
Node {config: Object, model: Object, children: Array[2], isRoot: function, hasChildren: function…}
Node {config: Object, model: Node, children: Array[2], isRoot: function, hasChildren: function…}
有没有办法正确克隆这样的结构?我寻找克隆 JS 对象,但仍然找不到准确克隆该对象的方法(例如模型等属性的原型......)