簡單腳本有問題。我有一個叫做'FeatureFlag'的模型,它是一個參照父類和子類的樹結構。我還有一個叫TreeBuilder的對象,它從FeatureFlag元素列表中生成一棵樹。JavaScript推送到數組後,停止循環執行
這裏是我的模型:
export class FeatureFlag {
private _id: number;
private _parent: FeatureFlag;
private _children: FeatureFlag[] = [];
set id(id:number) {
this._id = id
}
set parent(parent:FeatureFlag) {
this._parent = parent
}
get parent() : FeatureFlag {
return this._parent
}
set children(children:FeatureFlag[]) {
this._children = children
}
get children() : FeatureFlag[] {
return this._children
}
}
和問題的方法,建立()在TreeBuilder作爲:
public build() {
for(let element of this.data) { //this.data is an array of dict [{node,parent}]
let found = this.findNode(element.parent) //searches in tree for node with id 'element.parent'
if(found) { //if parent node has been found
//found.children.push(element.node) //add current node to its children
console.log(found) //print found
}
}
}
當行:
found.children.push(element.node)
被註釋掉,控制檯打印所有發現父母。沒關係。但是當行被取消註釋時,console.log只打印一次 - 第一個找到的父項。爲什麼會發生?
Regards
控制檯沒有錯誤? – Amy
@Amy沒有錯誤:( –
_「這裏是我的模型」 _你爲什麼把它叫做一個模型?我只是好奇。 – evolutionxbox