JavaScript: Was ist falsch an meinem code??

  • Erstmal Hallo an alle :)

    kan mir jemand sagen was an meinem Code falsch ist? Möchte gern von einem beliebigen Satz z.B. alle Stellen mit "a" ausgeben. Bin blutiger Anfänger und komm einfach nicht weiter.

    Vielen Dank

    <script>

    var eingabe = prompt();

    for (var i = 0; i < eingabe.length; i += buchstabe) {
    var buchstabe = eingabe.indexOf("a" , i);
    alert(buchstabe + 1); }

    alert("Fertig");

    </script>

  • Und was funktioniert jetzt daran nicht?

    EDIT:
    1. Du benutzt im head der for-schleife die variable buchstabe, die aber nur im Scope der Schleife gilt.
    2. Die Funktion promt() benötigt einen Parameter (oder auch 2), du hast keinen angegeben.

    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.

    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!

    2 Mal editiert, zuletzt von Tobse (11. März 2012 um 16:46)

  • Danke erstmal für die schnellen Antowrten :)

    Wenn ich z.B. im promptfenster "hahahahahahammk" eingebe bekomm ich nur die Stellen 2, 4 und 8 ausgegeben. 6, 10 und 12 werden mir nicht angezeigt? Wie würde ein funktionierendes Script aussehn?

  • Ich möchte mich nochmals bedanken für die schnellen Antworten, bin nach einigem rumprobieren selbst auf die Antwort gekommen :)

    Die Variable i hat sich aufaddiert und somit irgendwann an der falschen Stelle zu suchen begonnen. Statt "i += buchstabe" hätte ich "i = buchstabe" schreiben müssen.
    Kleiner Fehler, große Wirkung ;)