我需要克隆使用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对象,但仍然找不到确切克隆此对象的方法(例如像模型等属性的原型)。
tree.parse(root.model);
有什么区别吗? - Johy