Ich habe ein Problem mit einfachen Skript. Ich habe ein Modell namens 'FeatureFlag', das eine Baumstruktur mit Bezug auf Eltern und Kinder ist. Ich habe auch ein Objekt namens TreeBuilder, das aus einer Liste von FeatureFlag-Elementen einen Baum erstellt.JavaScript stoppt Schleifenausführung nach dem Drücken auf Array
Hier ist mein Modell:
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
}
}
und problematische Methode build() in 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
}
}
}
Wenn Leitung:
found.children.push(element.node)
kommentiert wird, Konsole druckt alle gefunden Eltern . Es ist okay. Wenn die Zeile jedoch unkommentiert ist, wird console.log nur einmal gedruckt - ein erster gefundener Parent. Warum passiert das?
Grüße
Keine Fehler in Ihrer Konsole? – Amy
@Amy Keine Fehler :( –
_ "Hier ist mein Modell" _ warum nennst du es ein Modell? Ich bin nur neugierig. – evolutionxbox