Hallo liebe Gemeinde,
ich bin mal wieder an die Grenzen meines Javascript Lateins gestoßen -.-.
ich habe ein Objekt, indem eine Funktion rekursiv ein Index generieren soll. Nur da spielt JS nicht so ganz mit.
kurze Skizze:
Json von Php/Ajax übergeben:
Aber in dem JS index steht letztendlich nur:
Hier der Code aus original Rekursionsfunktions _appInitialize() , alles andere ist nur um die Umgebung zu skizzieren.
Vielen Dank für eure Lösungsvorschläge im voraus
ich bin mal wieder an die Grenzen meines Javascript Lateins gestoßen -.-.
ich habe ein Objekt, indem eine Funktion rekursiv ein Index generieren soll. Nur da spielt JS nicht so ganz mit.
kurze Skizze:
Json von Php/Ajax übergeben:
Code:
level 1 test 1
level 1 test 2
level 1 test 3 level 2 test 1
level 1 test 3 level 2 test 2
level 1 test 3 level 2 test 3 level 3 test 1
level 1 test 3 level 2 test 3 level 3 test 2
level 1 test 3 level 2 test 3 level 3 test 3
level 1 test 4
level 1 test 5
Aber in dem JS index steht letztendlich nur:
Code:
level 1 test 3 level 2 test 3 level 3 test 1
level 1 test 3 level 2 test 3 level 3 test 2
level 1 test 3 level 2 test 3 level 3 test 3
level 1 test 4
level 1 test 5
Hier der Code aus original Rekursionsfunktions _appInitialize() , alles andere ist nur um die Umgebung zu skizzieren.
Code:
function object() {
...
//beispiel für aufruf
function _load() {
json = ajaxJson;
this.appHandler(json);
}
function _appHandler(json) {
level = json;
index = this.appInitialize(level);
return(index);
}
//beispiel für aufruf ende
function _appInitialize(level) { // rekursive funktion
_this = this;
index = new Array(); // soll den index für das aktuelle level definieren
index[0] = level.title; // der titel
for(itemId in level.items) { // jeden punkt durchlaufen lassen
if(level.items[itemId] == '[object Object]') { // wenn unterpunkte, recursion einleiten
levelNew = level.items[itemId]; // neues level für rekursion definieren
index[itemId] = _this.appInitialize(levelNew); // rekursion starten
} else { // indexieren und ausgeben
index[itemId] = level.items[itemId]; // indexieren
}
}
return(index); // generiertes level index zruückgeben
}
...
}
...
test = new object();
test.load();
...
Vielen Dank für eure Lösungsvorschläge im voraus