我需要创建一棵树。
每个节点都有两个二维数组,“statusTable”和“moveTable”。
每个孩子都必须继承它的父母的状态表(它的副本)。
每个节点应该有 10 个孩子。
树创建应在达到“maxDepth”时停止。
当我使用下面的代码时,我意识到所有节点都指向同一个状态表。
请问有什么帮助吗?
function NODE(p, statTable, movTable, depth)
{
this.par = p;
this.statusTable = statTable.slice();
this.moveTable = movTable.slice();
this.depth = depth;
}
function createChildren(parentNode)
{
var childNode, m;
if (parentNode.depth == maxDepth) return;
for (m = 0; m < 10; m++) {
moveTable = [];
mainTable = parentNode.statusTable.slice();
childNode = new NODE(parentNode, mainTable, moveTable, parentNode.depth + 1);
createChildren(childNode);
}
}