Jessica: while-Schleife

Hallo!

Ich brüte i.M. an einer Aufgabe, bei der ich leider überhaupt nicht weiterkomme!

Die Aufgabe lautet ein Array, z.B.

var x = new Array (1,2,3); mit festgelegen Werten in einer while-Schleife auszugeben.

Ich bekommen, dass aber leider nicht so ganz hin. Bis jetzt habe ich es nur geschafft den Array folgendermaßen auszugeben = (die Deklaration des Arrays und Skripteinbindung in HTML laß ich hier mal weg!)
...
var i = null;
for (i=0; i < x; i++)

if (x[i] > 0)
 {
 document.write(x[i]  + "."  + " " );
 }
 else {document.write("Fehler bei der Ausgabe");
 }
...

Der Aufbau sieht aber vor:

var = ??
while (???)
{
if (x[i] > 0)  document.write(x[i]  + "."  + " " );
else ....
}

Könnt Ihr mir einen kl. Tipp geben bzw. auch gute Literatur zu JavaScript empfehlen? Bis jetz hab ich da auch noch nichts Produktives gefunden!

  1. hi,
    wie wäre es damit ?:

    var OnlyToCount = 0;
    var GoFurther = "on"
    while(var GoFurther!="off") {
     if(x[OnlyToCount]!="") {
      document.write(x[OnlyToCount]);
      OnlyToCount++;
     } else {
      GoFurther = "off";
      break;
     }
    }

    mfg
    comunicout

    --
    fütter mein ego !
    welcome to electro-smog therapy
  2. var i = null;

    Jessica,
    Warum das (= null)?

    for (i=0; i < x; i++)

    Wie willst du eine Zählvariable mit einem Array vergleichen? Du meinst sicher die Anzahl der Elemente in diesem Array x.length http://selfhtml.teamone.de/javascript/objekte/array.htm#length

    if (x[i] > 0)
     {
     document.write(x[i]  + "."  + " " );
     }
     else {document.write("Fehler bei der Ausgabe");
     }

    Etwas unübersichtlich. Gewöhn dir am besten eine Schreibweise mit den geschweiften Klammern an, die du konsequent benutzt. (Nicht benÜtzt! ;-) Zum Beispiel

    if (x[i] > 0) {
      document.write(x[i]  + "."  + " " );
    }
    else {
      document.write("Fehler bei der Ausgabe");
    }

    Wenn nach if/else nur eine Anweisung folgt, kannst du die geschweiften Klammern weglassen.

    while (???)

    Was ist dein Problem? Die for-Schleife als while-Schleife zu schreiben?

    i = 0;
    while (i < x.length) {}

    Und nicht vergessen, i innerhalb der Schleife hochzuzählen.

    Gunnar

    --
    Good results come from experience; and experience comes from bad results.
    1. hi,

      Etwas unübersichtlich. Gewöhn dir am besten eine Schreibweise mit den geschweiften Klammern an, die du konsequent benutzt. [...]
      Wenn nach if/else nur eine Anweisung folgt, kannst du die geschweiften Klammern weglassen.

      würde trotzdem empfehlen, sie auch dann zu setzen.
      es passiert öfter als man denkt, dass man zu dieser einzelnen anweisung im nachhinein doch noch mal kurz eine zweite notiert, und dabei dann vergisst, die klammern hinzuzufügen ;-)

      gruss,
      wahsaga