Sebastian Mei.: uebergabe eines array in einer rekursion

Hallo,

irgendetwas verstehe ich falsch, zumindest gibt es immer eine Fehlermeldung.
Das Javascript ruft eine funktion auf, innerhalb der funktion soll das array erweitert werden und dann erfolgt der Aufruf deer funktion erneut und so weiter und so weiter. Nun gibt mir aber das Fehlerprotokoll aus array[dsf] undefined. Der Code sieht etwa so aus

  
var test = {  
  
  init: function(){  
    var testArr = new Array();  
    var counter = 0;  
    testArr['test1'] = new Array();  
    testArr['test1']['test2'] = 'value';  
    test.rekursiverAufruf(testArr,counter);  
  },  
  
  rekursiverAufruf: function(testArr,counter) {  
    var count = counter + 1;  
    var arrValue = testArr['test1']['test2'];  
    alert(arrValue);  
    if (count < 3) {  
        test.rekursiverAufruf(testArr,count);  
    }  
  },  
};  
  

Warum funktioniert das nicht im gewuenschten Sinne? Nur beim ersten Aufruf wird alert() ausgegeben, danach kommt besagte Fehlermeldung.

Gruss

  1. Hi,

    Das Javascript ruft eine funktion auf, innerhalb der funktion soll das array erweitert werden und dann erfolgt der Aufruf deer funktion erneut und so weiter und so weiter. Nun gibt mir aber das Fehlerprotokoll aus array[dsf] undefined. Der Code sieht etwa so aus

    Da in diesem Code an nicht einer Stelle die Zeichenfolge 'dsf' vorkommt, wäre das zumindest nachvollziehbar.

    Dass es dem tatsächlich vorliegenden Problem entspricht, scheint hingegen dadurch unwahrscheinlicher.

    MfG ChrisB

    --
    “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
  2. Hallo,

    ich verstehe zwar nicht den Sinn von dem Code, den du da gepostet hast, aber er funktioniert ohne jede Fehlermeldung. Es gibt genau wie ich erwartet habe 3 mal 'value' in einer Alert-Box aus.

    Viele Grüße Novi

    --
    "(...) deshalb mag ich Binärtechnik. Da gibt es nur drei Zustände: High, Low und Kaputt." (Wau Holland)
  3. Hallo Sebastian,

    ... Der Code sieht etwa so aus

    dann hast du den Fehler ja schon gefunden. Denn dieser Code bringt drei alerts und keine Fehlermeldung.

    Gruß, Jürgen