# Array Rückgabe wert an andere Funktion ?



## mirek (6. Apr 2004)

Hi  
was mache ich den falsch da die Array zahlen_ bei der Ausgabe keine werte hat .
Code in JavaScript ;



		Code:In die Zwischenablage kopieren


function main()
{
    var zahlen = z();
    for(var i = 0; i < 10; i++)
    {
        zahlen[i] = i;
              document.write(zahlen[i]); /*Ausgabe des zahlers*/
    }
       alert(zahlen[i]);
}

function z()
{
    var a = new Array(32);
    for(var i = 0; i < (a.length -1); i++)
    {
        a[i] = i;
        var zahlen = a[i] +1;
    }
    return zahlen;
}


Danke für Hilfe
Mirek _


----------



## Beni (6. Apr 2004)

JavaScript bitte auch im JavaScript-Bereich posten.

Danke


----------



## Guest (6. Apr 2004)

Hallo, Mirek,

Das ist zwar ein Java-Forum, kein JavaScript-Forum, aber die in deinem Code enthaltenen Fehler können in praktisch jeder Programmiersprache gemacht werden.
Ich vermute mal, bis auf ein winziges unscheinbares "javascript-Fehler auf der Seite" oder so ähnlich in der Statuszeile deines Browsers siehst du keine weiteren Fehlermeldungen.

:arrow: Fehler Nr. 1: z() gibt kein Array zurück, sondern den Skalar *zahlen* mit dem Wert *32*.
            Korrekturvorschlag: *return a*
 :arrow: Fehler Nr. 2: Auch die Variable *zahlen *in der Funktion main() ist damit ein Skalar mit dem Wert 32.
            Dann ist auch der Zugriff auf *zahlen*_ unzulässig.
            Korrekturvorschlag: s.o., dann passt's auch hier...
 :arrow: Fehler Nr. 3: for-Schleife der z()-Funktion zu kurz:
            Anstatt:


		Code:In die Zwischenablage kopieren


for(var i = 0; i < (a.length -1); i++)

            schreib:


		Code:In die Zwischenablage kopieren


for(var i = 0; i < (a.length); i++)

 :arrow: Fehler Nr. 4: Überflüssege Deklaration eines Skalars in der for-Schleife von z():


		Code:In die Zwischenablage kopieren


var zahlen = a[i] +1;

            In Java wär der *int* *zahlen* nach "*}*" nicht mehr definiert, ist in JavaScript wohl genauso...
 :arrow: Fehler Nr. 5: Überflüssige Wertzuweisung an Arrayelemente in main()-Funktion:


		Code:In die Zwischenablage kopieren


zahlen[i] = i;

Entweder die z()-Funktion belegt das Array, oder das geschieht erst in der main()-Funktion. Beides zusammen ergibt keinen Sinn.

Viel Spaß beim Coden,
Jürgen_


----------

